Access-Control-Expose-Headers ヘッダー
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
HTTP の Access-Control-Expose-Headers レスポンスヘッダーによりサーバーは、オリジンを越えるリクエストへの応答として、ブラウザー上で実行されているスクリプトに対してどのレスポンスヘッダーを公開すべきかを示すことができます。
デフォルトでは CORS セーフリストレスポンスヘッダーのみが公開されます。クライアントが他のヘッダーにアクセスできるようにするには、 Access-Control-Expose-Headers ヘッダーを使用してヘッダーを列挙する必要があります。
| ヘッダー種別 | レスポンスヘッダー |
|---|---|
| 禁止リクエストヘッダー | いいえ |
構文
Access-Control-Expose-Headers: [<header-name>[, <header-name>]*]
Access-Control-Expose-Headers: *
ディレクティブ
<header-name>-
レスポンスからクライアントがアクセスすることが許可されたゼロ個以上のヘッダー名のカンマ区切りの一覧です。 これらは CORS セーフリストレスポンスヘッダーに追加されるものです。
*(ワイルドカード)-
*の値は、資格情報のないリクエスト (HTTP Cookie や HTTP の資格情報のないリクエスト) の特殊なワイルドカード値です。 資格情報付きのリクエストでは、特別な意味のない "*" というヘッダー名として扱われます。
例
CORS セーフリストレスポンスヘッダーは、Cache-Control, Content-Language, Content-Length, Content-Type, Expires, Last-Modified, Pragma です。CORS セーフリストに登録されていないレスポンスヘッダーを公開するには、次のように指定できます。
Access-Control-Expose-Headers: Content-Encoding
Kuma-Revision のようなカスタムヘッダーをさらに公開するには、複数のヘッダーをカンマで区切って指定することができます。
Access-Control-Expose-Headers: Content-Encoding, Kuma-Revision
資格情報のないリクエストでは、ワイルドカード値を使うこともできます。
Access-Control-Expose-Headers: *
サーバーは、資格情報を含むリクエストに対して * という値を同時に返すこともありますが、その場合は * という名前付きヘッダーを参照します。
仕様書
| Specification |
|---|
| Fetch> # http-access-control-expose-headers> |