금지된 헤더 이름
금지된 헤더 이름은 프로그래밍 방식으로 수정할 수 없는 HTTP 헤더의 이름입니다. 정확히는 금지된 응답 헤더 이름과 대비되는 HTTP 요청 헤더 이름입니다.
이러한 헤더는 사용자 에이전트가 헤더에 대한 모든 권한을 보유하므로 수정할 수 없습니다. Sec-
로 시작하는 이름은 개발자에게 헤더에 대한 제어 권한을 부여하는 취득 알고리즘을 사용하는 API(XMLHttpRequest
등)로부터 안전한 새 헤더를 만들때 사용하기 위해 예약되어 있습니다.
금지된 헤더 이름은 Proxy-
또는 Sec-
로 시작하거나 아래 이름 중 하나입니다.
Accept-Charset
Accept-Encoding
Access-Control-Request-Headers
Access-Control-Request-Method
Connection
Content-Length
Cookie
Date
DNT
Expect
Host
Keep-Alive
Origin
Permissions-Policy
Proxy-
Sec-
Referer
TE
Trailer
Transfer-Encoding
Upgrade
Via
참고: 위 목록에 없는 User-Agent
헤더는 금지됐었으나 명세에 따라 (금지된 헤더 이름 목록 참조(Firefox 43에서 구현됨))이제 사용할 수 있습니다. 따라서 Fetch API Headers
객체나 XMLHttpRequest
의 setRequestHeader()
메서드로 설정 가능합니다. 그러나 Chrome은 Fetch 요청에서 User-Agent
헤더를 조용하게 제거하고 있습니다. Chromium bug 571722를 참고하세요.
같이 보기
금지된 응답 헤더 이름 (용어 사전)