Access-Control-Allow-Headers レスポンスヘッダーは、 Access-Control-Request-Headers を含むプリフライトリクエストへのレスポンスで、実際のリクエストの間に使用できる HTTP ヘッダーを示すために使用されます。

単純ヘッダー, Accept, Accept-Language, Content-Language, Content-Type (但し解釈された値の (引数を除いた) MIME タイプが application/x-www-form-urlencoded, multipart/form-data, text/plain のどれかの場合) は常に利用可能で、このヘッダーで列挙する必要はありません。

このヘッダーは、リクエストに Access-Control-Request-Headers ヘッダーが含まれている時に必要です。

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

構文

Access-Control-Allow-Headers: <header-name>[, <header-name>]*

ディレクティブ

<header-name>
対応しているリクエストヘッダーの名前です。ヘッダーはコンマで区切って、任意の数のリストにすることができます。

なお、 Accept, Accept-Language, Content-Language, Content-Type (但し、解釈された値 (引数を無視) の MIME タイプが application/x-www-form-urlencoded, multipart/form-data, text/plain のいずれかであるとき) など特定のヘッダーは常に許可されています。これらは単純ヘッダーと呼ばれ、明示的に指定する必要はありません。

カスタムヘッダー

Access-Control-Allow-Headers ヘッダーがどのように見えるかの例です。「単純」ヘッダーに加えて、 X-Custom-Header という名前のカスタムヘッダーがサーバーへの CORS リクエストで対応しています。

Access-Control-Allow-Headers: X-Custom-Header

複数のヘッダー

この例は、複数のヘッダーへの対応を指定するときの Access-Control-Allow-Headers を示しています。

Access-Control-Allow-Headers: X-Custom-Header, Upgrade-Insecure-Requests

プリフライトリクエストの例

Access-Control-Allow-Headers を伴うプリフライトリクエストの例を見てみましょう。

リクエスト

最初にリクエストです。プリフライトリクエストは OPTIONS リクエストで、次のように3つのプリフライトリクエストヘッダー、 Access-Control-Request-Method, Access-Control-Request-Headers, Origin の組み合わせを含みます。

OPTIONS /resource/foo
Access-Control-Request-Method: DELETE
Access-Control-Request-Headers: origin, x-requested-with
Origin: https://foo.bar.org

レスポンス

CORS リクエストが DELETE メソッドを使うことをサーバーが許可した場合、 Access-Control-Allow-Methods レスポンスヘッダーで返信し、そこでは DELETE とともに対応するその他のメソッドのリストが含まれます。

HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Access-Control-Allow-Origin: https://foo.bar.org
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400

要求されたメソッドに対応していない場合は、サーバーはエラーを返します。

仕様書

仕様書 状態 備考
Fetch
Access-Control-Allow-Headers の定義
現行の標準 初回定義

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応Chrome 完全対応 4Edge 完全対応 12Firefox 完全対応 3.5IE 完全対応 10Opera 完全対応 12Safari 完全対応 4WebView Android 完全対応 2Chrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 3.2Samsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応

互換性のメモ

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09
最終更新者: mfuji09,