Access-Control-Allow-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.

* Some parts of this feature may have varying levels of support.

Access-Control-Allow-HeadersAccess-Control-Request-Headers를 포함하는 preflight request의 응답에 사용되는 헤더로, 실제 요청때 사용할 수 있는 HTTP 헤더의 목록을 나열합니다.

요청에 Access-Control-Request-Headers 헤더가 포함되어 있을 경우, 이 헤더를 포함하여야 합니다.

Header type Response header
Forbidden header name no

구문

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

지시자

<header-name>

지원하는 헤더의 이름입니다. 쉼표로 구분하여 원하는 만큼 헤더를 나열할 수 있습니다.

* (와일드카드)

"*" 값은 자격 증명이 없는 요청(쿠키 혹은 HTTP 인증 정보가 없는 요청)일 경우 특수한 와일드 카드로 처리됩니다. 자격증명을 포함하는 경우 단순히 "*"라는 이름을 갖는 특별한 의미가 없는 헤더로 취급됩니다. 단, Authorization 헤더는 와일드카드에 포함되지 않으며 명시적으로 나열해야 합니다.

예제

사용자 정의 헤더

다음은 Access-Control-Allow-Headers 헤더가 어떤 식으로 작성되는지에 대한 예시입니다. CORS에서 안전한 헤더외에도 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

Preflight 요청 예시

사전 요청에서 Access-Control-Allow-Headers 이 사용된 경우의 예제를 보도록 합시다.

요청

이 Preflight 요청은 Preflight 요청 헤더인 Access-Control-Request-Method, Access-Control-Request-HeadersOrigin, 이 세가지 Preflight 요청 헤더를 포함하는 OPTIONS 요청입니다.

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

응답

만약 서버가 DELETE 메소드에 CORS 요청을 허용한다면 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

요청된 메소드가 지원되지 않으면 서버는 오류로 응답합니다.

명세

Specification
Fetch
# http-access-control-allow-headers

브라우저 호환성

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Access-Control-Allow-Headers
Authorization header is not covered by wildcard
Wildcard (*)

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
User must explicitly enable this feature.

함께 보기