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