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

Natalia Markoborodova
Natalia Markoborodova

オリジン トライアルの成功を受けて、Chrome 133 でストレージ アクセス ヘッダー(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 API(SAA)を使用する場合は、パフォーマンスが向上する Storage Access Header を使用することをおすすめします。全体的な変更点は次のとおりです。

  • iframe 以外の埋め込みのサポート: より幅広いリソースで SAA を使用できるようになります。
  • ネットワーク使用量の削減: リクエスト数とペイロードが削減されます。
  • CPU 使用率の低減: JavaScript 処理が減ります。
  • UX の改善: 中断を伴う中間読み込みを排除します。

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

ストレージ アクセス ヘッダー機能では、次の 2 つの場合にコードを更新する必要があります。

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

ソリューションでストレージ アクセス ヘッダーを使用する方法については、ドキュメントをご覧ください。

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

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