Storage Access API 的 HTTP 標頭支援

Natalia Markoborodova
Natalia Markoborodova

在成功完成原始碼試用後,我們將在 Chrome 133 中推出儲存空間存取標頭 (SAH)。

什麼是儲存空間存取權標頭?

儲存空間存取標頭是新的 HTTP 標頭,可讓嵌入式內容 (例如社群媒體小工具、日曆、互動式工具和圖片) 檢查未分割的 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

主要優點

建議您使用 Storage Access Headers,這是效能較佳的 Storage Access API (SAA) 使用方式。整體而言,這項異動帶來了幾項改善:

  • 支援非 iframe 嵌入:為更多資源啟用 SAA。
  • 減少網路用量:減少要求和縮小酬載。
  • 降低 CPU 使用率:減少 JavaScript 處理作業。
  • 改善使用者體驗:不再出現中斷性的中介載入畫面。

更新解決方案

使用「儲存空間存取標頭」功能時,您可能需要在以下兩種情況更新程式碼:

  • 您使用 SAA,並希望透過後續 storage-access 要求的標頭邏輯,提升成效。
  • 您有驗證或邏輯,取決於要求是否包含 Origin 標頭。

請參閱我們的說明文件,瞭解如何在解決方案中使用儲存空間存取標頭。

參與討論及分享意見

如有任何意見回饋或遇到問題,歡迎回報問題。您也可以在 GitHub 說明頁面上進一步瞭解儲存空間存取權標頭。