成功完成源试用后,我们将在 Chrome 133 中发布存储空间访问标头 (SAH)。
什么是存储空间访问标头?
存储空间访问权限标头是一种新的 HTTP 标头,可让嵌入式内容(例如社交媒体 widget、日历、互动式工具和图片)检查是否有权访问未分区的 Cookie。以前,只有使用 JavaScript 才能实现此操作。新的 Sec-Fetch-Storage-Access
请求标头和 Activate-Storage-Access
响应标头可提升依赖嵌入内容的网站的性能和用户体验,并支持加载非 iframe 资源。如需了解实现详情,请参阅文档。
请求标头
Sec-Fetch-Storage-Access: <access-status>
当用户访问嵌入跨站内容的网页时,浏览器会在可能需要凭据(例如 Cookie)的跨站请求中自动添加 Sec-Fetch-Storage-Access 标头。此标头用于指示嵌入的 Cookie 访问权限状态,可以具有以下值:
none
:嵌入代码没有storage-access
权限,因此无法访问未分区的 Cookie。inactive
:嵌入内容具有storage-access
权限,但尚未选择在当前上下文中使用该权限。嵌入内容没有对未分区的 Cookie 的访问权限。active
:嵌入内容具有未分区的 Cookie 访问权限。任何有权访问未分区的 Cookie 的跨源请求都会包含此值。
响应标头
Activate-Storage-Access: <retry-or-load>
Activate-Storage-Access
标头会指示浏览器使用 Cookie 重试请求,或在启用 Storage Access API (SAA) 的情况下直接加载资源。标头可以具有以下值:
load
:指示浏览器向嵌入程序授予对请求资源的未分区 Cookie 的访问权限。如果已授予storage-access
权限,则添加此标头等同于调用document.requestStorageAccess()
。系统不会向用户显示任何其他提示。retry
:服务器响应,浏览器应激活存储空间访问权限,然后重试请求。
Activate-Storage-Access: retry; allowed-origin="https://site.example"
Activate-Storage-Access: retry; allowed-origin=*
Activate-Storage-Access: load
主要优势
建议使用存储空间访问标头来使用存储空间访问 API (SAA),因为这种方式的性能更高。总体而言,这项变更带来了多项改进:
- 对非 iframe 嵌入的支持:为更多资源启用 SAA。
- 减少网络使用量:减少请求次数并缩减载荷。
- 降低 CPU 使用量:减少 JavaScript 处理。
- 改进的用户体验:消除了干扰性的中间加载。
更新您的解决方案
在以下两种情况下,您可能需要更新代码:
- 您使用 SAA,并希望通过为后续
storage-access
请求使用标头逻辑来实现更好的性能。 - 您有验证或逻辑,其取决于向服务器发出的请求中是否包含
Origin
标头。
请参阅我们的文档,了解如何在您的解决方案中使用存储空间访问标头。
互动和分享反馈
如果您有任何反馈或遇到任何问题,可以提交问题。您还可以参阅 GitHub 说明文档,详细了解存储空间访问权限标头。