对 Storage Access API 的 HTTP 标头支持

Natalia Markoborodova
Natalia Markoborodova

成功完成源试用后,我们将在 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 说明文档,详细了解存储空间访问权限标头。