Storage Access API の HTTP ヘッダーのサポート

Natalia Markoborodova
Natalia Markoborodova

オリジン トライアルが成功したため、Chrome 133 で Storage Access Headers(SAH)をリリースします。

ストレージ アクセス ヘッダーとは

ストレージ アクセス ヘッダーは、埋め込みコンテンツ(ソーシャル メディア ウィジェット、カレンダー、インタラクティブ ツール、画像など)がパーティショニングされていない Cookie へのアクセスをチェックできるようにする新しい HTTP ヘッダーです。以前は、これは 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 の処理が減少します。
  • UX の改善: 中間負荷の発生を抑制します。

ソリューションを更新する

Storage Access Headers 機能を使用する場合、コードの更新が必要になるケースは次の 2 つです。

  • SAA を使用しており、後続の storage-access リクエストにヘッダー ロジックを使用してパフォーマンスを向上させたい。
  • Origin ヘッダーがサーバーへのリクエストに含まれているかどうかに依存する検証またはロジックがある。

ソリューションで Storage Access Headers を使用する方法については、ドキュメントをご覧ください。

意見交換とフィードバックの提供

フィードバックがある場合や問題が発生した場合は、問題をご提出ください。ストレージ アクセス ヘッダーの詳細については、GitHub の説明もご覧ください。