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 July 2015.

Access-Control-Expose-Headers レスポンスヘッダーは、レスポンスの一部としてどのヘッダーを公開するかを、その名前を列挙して示します。

既定では、公開される CORS セーフリストレスポンスヘッダーは 7 つだけです。

クライアントが他のヘッダーにアクセスできるようにするには、 Access-Control-Expose-Headers ヘッダーを使用してヘッダーを列挙する必要があります。

ヘッダー種別 レスポンスヘッダー
禁止ヘッダー名 いいえ

構文

Access-Control-Expose-Headers: <header-name>, <header-name>, ...
Access-Control-Expose-Headers: *

ディレクティブ

<header-name>

ゼロ個以上のヘッダー名の一覧で、 CORS セーフリストレスポンスヘッダーに含まれないものであり、リソースが使用する可能性があり、公開される可能性があるものです。

* (ワイルドカード)

"*" の値は、資格情報のないリクエスト (HTTP Cookie や HTTP の資格情報のないリクエスト) の特殊なワイルドカード値です。資格情報付きのリクエストでは、特別な意味のない "*" というヘッダー名として扱われます。 なお、 Authorization ヘッダーはワイルドカードで表すことができず、常に明示的に列挙する必要があります。

CORS セーフリストにないレスポンスヘッダーを公開するには、次のように指定します。

Access-Control-Expose-Headers: Content-Length

X-Kuma-Revision のようなカスタムヘッダーをさらに公開するには、複数のヘッダーをカンマで区切って指定することができます。

Access-Control-Expose-Headers: Content-Length, X-Kuma-Revision

資格情報のないリクエストでは、ワイルドカード値を使うこともできます。

Access-Control-Expose-Headers: *

但し、 Authorization ヘッダーはワイルドカードの対象にならないので、明示的に列挙する必要があります。

Access-Control-Expose-Headers: *, Authorization

仕様書

Specification
Fetch Standard
# http-access-control-expose-headers

ブラウザーの互換性

BCD tables only load in the browser

関連情報