オリジン トライアルの成功を受けて、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 の説明をご覧ください。