返回知识中心
平台

Origin-Agent-Cluster:可预测的 JavaScript 内存隔离

理解 Origin-Agent-Cluster 选择、同源与子域行为、部署一致性和验证回退。

BotBrowser Team

文档中心

想直接进入 平台 文档吗?

这篇文章属于博客内容库。若你要步骤化配置、参考说明和持续更新,请直接进入对应 docs 分区。

Origin-Agent-Cluster 请求按来源组织 JavaScript 执行。它不是独立操作系统进程、固定内存配额,也不能替代同源策略。BotBrowser 可以在声明的浏览器上下文中重复已授权检查,但不能强制浏览器布局或修改 HTTP 响应。

语言中立图示:文档策略、同源分组和子域边界。

要点

  • Origin-Agent-Cluster: ?1 请求按来源分组;?0 在支持时请求旧行为。
  • 协议、主机和端口构成来源;子域仍是不同来源。
  • 同时检查最终响应、window.originAgentCluster、DevTools 和 WPT 风格夹具。
  • 重定向、缓存、service worker、frame 和 worker 的策略必须一致。
  • API 不存在或策略未被采用时使用应用回退。

目录

请求头作用

响应头请求文档和相关 worker 的 agent cluster 分组。window.originAgentCluster 是可观察结果。true 不代表独立进程;晚到的脚本也不能更改已经创建的分组。

来源与子域

https://app.example.test 与 https://cdn.example.test 是不同来源。对每个 frame 检查最终 URL、响应头和 boolean。消息仍需验证 event.origin 与数据结构。

夹具与矩阵

const observed = window.originAgentCluster;
const state = observed === true ? 'origin-keyed' : observed === false ? 'site-keyed' : 'unknown';
console.log({ state, origin: location.origin });
观察解释下一步
?1 与 true观察到按来源分组保留声明的能力
无头且 false旧或按站点结果使用回退
属性不存在API 不可用标记不支持
头不一致路由或 CDN 变体发布前修复

BotBrowser 支持在授权 profile 中重复矩阵并比较可见回退,但不能改变请求头、第三方响应或保证进程数量。

结论

在最终响应设置策略,测试来源、子域、重定向、frame 和缓存,并保留回退。下一步是把 boolean、浏览器版本和资源契约一起记录。

常见问题

?1 会创建每来源一个进程吗?

不会。它请求分组,进程仍是实现细节。

子域是同源吗?

不是。主机变化就改变来源。

JavaScript 能启用请求头吗?

不能。创建文档的响应决定策略。

BotBrowser 做什么?

它重复授权测试,但不强制隔离或私有进程布局。

延伸阅读

Public sources

#Origin-Agent-Cluster#JavaScript#同源#站点隔离

让 BotBrowser 从研究走向生产

先用这些指南理解模型,再进入跨平台验证、隔离上下文和面向规模化的浏览器部署。