HTTP 헤더 필드 목록

이 문서는 표준 및 주목할 만한 비표준 HTTP 헤더 필드를 나열한다.

핵심 필드 집합은 국제 인터넷 표준화 기구 (IETF)에서  함께 표준화되어 있다. 필드 이름, 헤더 필드 및 잠정 등록 저장소는 인터넷 할당 번호 관리기관 (IANA)에서 관리된다. 추가 필드는 웹 애플리케이션에 의해 정의될 수 있다.

과거에는 비표준 헤더 필드 이름에 `X-` 접두사가 붙었지만, 이 관습은 비표준 필드가 표준이 될 때 발생하는 불편함 때문에 2012년 6월에 더 이상 사용되지 않게 되었다. `Downgraded-` 사용에 대한 이전 제한은 2013년 3월에 해제되었다.

일부 필드 값은 소프트웨어에서 무시할 수 있는 주석(예: User-Agent, Server, Via 필드)을 포함할 수 있다.

많은 필드 값에는 등호로 구분된 quality (q) 키-값 쌍이 포함될 수 있으며, 이는 콘텐츠 협상에 사용할 가중치를 지정한다. 예를 들어, 브라우저는 독일어 또는 영어 정보를 허용하며, `de`에 대한 q 값을 `en`보다 높게 설정하여 독일어를 선호한다고 다음과 같이 나타낼 수 있다.

`Accept-Language: de; q=1.0, en; q=0.5`

## 요청 필드
이 섹션에서는 요청에 사용되는 헤더 필드를 나열한다.

### 표준 요청 필드

#### A-IM

[RFC 3229, 영구] 요청에 허용되는 인스턴스 조작.

예시: `A-IM: feed`

#### Accept

[RFC 9110, 영구] 응답에 허용되는 미디어 타입. 콘텐츠 협상을 참조한다.

예시: `Accept: text/html`

#### Accept-Charset

[RFC 9110, 영구] 허용되는 문자 집합.

예시: `Accept-Charset: utf-8`

#### Accept-Datetime

[RFC 7089, 잠정적] 시간에 따른 허용 가능한 버전.

예시: `Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT`

#### Accept-Encoding

[RFC 9110, 영구] 허용되는 인코딩 목록. HTTP 압축을 참조한다.

예시: `Accept-Encoding: gzip, deflate`

#### Accept-Language

[RFC 9110, 영구] 응답에 허용되는 인간 언어 목록. 콘텐츠 협상을 참조한다.

예시: `Accept-Language: en-US`

#### Access-Control-Request-Method, Access-Control-Request-Headers

[영구] 교차 출처 리소스 공유 요청을 Origin (아래)으로 시작한다.

예시: `Access-Control-Request-Method: GET`

#### Authorization

[RFC 9110, 영구] HTTP 인증을 위한 인증 자격 증명.

예시: `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`

#### Cache-Control

[RFC 9111, 영구] 요청-응답 체인을 따라 모든 캐싱 메커니즘이 따라야 할 지시문을 지정하는 데 사용된다. HTTP/1.1에 따르면, `no-cache` 값은 브라우저가 서버 및 중간 캐시에 리소스의 최신 버전을 원한다고 알릴 수 있도록 한다. HTTP/1.0, `Pragma: no-cache` 헤더 필드는 동일한 목적을 가진다.

응답에서 `Pragma: no-cache`의 동작은 아직 지정되지 않았지만 일부 사용자 에이전트는 이를 지원한다. HTTP/1.1은 이 동작에 의존하지 말 것을 특히 경고한다.

예시: `Cache-Control: no-cache`

#### Connection

[RFC 9110, 영구] 현재 연결을 위한 제어 옵션 및 홉별 요청 필드 목록.
HTTP/2에서는 사용되지 않아야 한다.

예시: `Connection: keep-alive`
`[[HTTP/1.1 Upgrade header|Connection: Upgrade]]`

#### Content-Encoding

[RFC 9110, 영구] 데이터에 사용된 인코딩 유형. HTTP 압축을 참조한다.

예시: `Content-Encoding: gzip`

#### Content-Length

[RFC 9110, 영구] 요청 본문의 옥텟 (8비트 바이트) 길이.

예시: `Content-Length: 348`

#### Content-MD5

[RFC 1544, 1864, 4021, 폐기됨] 요청 본문 내용의 베이스64 인코딩된 바이너리 MD5 합계.

예시: `Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==`

#### Content-Type

[RFC 9110, 영구] 요청 본문의 미디어 타입 (POST 및 PUT 요청에 사용됨).

예시: `Content-Type: application/x-www-form-urlencoded`

#### Cookie

[RFC 2965, 6265, 영구] 서버가 `[[#innerlink set-cookie|Set-Cookie]]` (아래)와 함께 이전에 보낸 HTTP 쿠키.

예시: `Cookie: $Version=1; Skin=new;`

#### Date

[RFC 9110, 영구] 메시지가 시작된 날짜 및 시간 (에 정의된 "HTTP-date" 형식).

예시: `Date: Tue, 15 Nov 1994 08:12:31 GMT`

#### Expect

[RFC 9110, 영구] 특정 서버 동작이 클라이언트에 의해 요구됨을 나타낸다.

예시: `Expect: 100-continue`

#### Forwarded

[RFC 7239, 영구] HTTP 프록시를 통해 웹 서버에 연결하는 클라이언트의 원래 정보를 공개한다.

예시: `Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43` `Forwarded: for=192.0.2.43, for=198.51.100.17`

#### From

[RFC 9110, 영구] 요청을 하는 사용자의 이메일 주소.

예시: `From: user@example.com`

#### Host

[RFC 9110, 9113, 영구] 서버의 도메인 이름(가상 호스팅용)과 서버가 수신 대기하는 TCP 포트 번호. 요청된 서비스의 표준 포트인 경우 포트 번호는 생략할 수 있다. HTTP/1.1부터 필수이다. 요청이 HTTP/2에서 직접 생성된 경우 사용되지 않아야 한다.

예시: `Host: en.wikipedia.org:8080`
`Host: en.wikipedia.org`

#### HTTP2-Settings

[RFC 7540, 9113, 폐기됨] HTTP/1.1에서 HTTP/2로 업그레이드하는 요청은 정확히 하나의 `HTTP2-Settings` 헤더 필드를 포함해야 한다. `HTTP2-Settings` 헤더 필드는 서버가 업그레이드 요청을 수락할 것을 예상하여 제공되는, HTTP/2 연결을 제어하는 매개변수를 포함하는 연결별 헤더 필드이다.

예시: `HTTP2-Settings: token64`

#### If-Match

[RFC 9110, 영구] 클라이언트가 제공한 엔티티가 서버의 동일한 엔티티와 일치하는 경우에만 작업을 수행한다. 이는 사용자가 마지막으로 업데이트한 이후 리소스가 수정되지 않은 경우에만 리소스를 업데이트하는 PUT과 같은 메서드에 주로 사용된다.

예시: `If-Match: "737060cd8c284d8af7ad3082f209582d"`

#### If-Modified-Since

[RFC 9110, 영구] 콘텐츠가 변경되지 않은 경우 304 Not Modified를 반환할 수 있다.

예시: `If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT`

#### If-None-Match

[RFC 9110, 영구] 콘텐츠가 변경되지 않은 경우 304 Not Modified를 반환할 수 있다. HTTP ETag를 참조한다.

예시: `If-None-Match: "737060cd8c284d8af7ad3082f209582d"`

#### If-Range

[RFC 9110, 영구] 엔티티가 변경되지 않은 경우, 내가 누락된 부분(들)을 보내주고, 그렇지 않으면 전체 새 엔티티를 보내준다.

예시: `If-Range: "737060cd8c284d8af7ad3082f209582d"`

#### If-Unmodified-Since

[RFC 9110, 영구] 특정 시간 이후 엔티티가 수정되지 않은 경우에만 응답을 보낸다.

예시: `If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT`

#### Max-Forwards

[RFC 9110, 영구] 메시지가 프록시 또는 게이트웨이를 통해 전달될 수 있는 횟수를 제한한다.

예시: `Max-Forwards: 10`

#### Origin

[RFC 6454, 영구] 교차 출처 리소스 공유 요청을 시작한다 (Access-Control-* 응답 필드를 서버에 요청함).

예시: `Origin: `

#### Pragma

[RFC 9111, 구식] 요청-응답 체인을 따라 다양한 효과를 가질 수 있는 구현별 필드.

예시: `[[#Avoiding caching|Pragma: no-cache]]`

#### Prefer

[RFC 7240, 영구] 클라이언트가 요청을 처리하는 동안 서버가 특정 동작을 사용하도록 요청할 수 있도록 한다.

예시: `Prefer: return=representation`

#### Proxy-Authorization

[RFC 9110, 영구] 프록시에 연결하기 위한 인증 자격 증명.

예시: `Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`

#### Range

[RFC 9110, 영구] 엔티티의 일부만 요청한다. 바이트는 0부터 번호가 매겨진다. 바이트 서빙을 참조한다.

예시: `Range: bytes=500-999`

#### Referer

[RFC 9110, 영구] 현재 요청된 페이지로 연결된 이전 웹 페이지의 주소.

의도된 용어는 실제로 "referrer"이지만, 철자 오류는 RFC 및 대부분의 구현에서 발견되며, 따라서 올바른 용어로 간주된다.

예시: ``

#### TE

[RFC 9110, 영구] 사용자 에이전트가 수락할 전송 인코딩: 응답 헤더 필드 Transfer-Encoding과 동일한 값을 사용할 수 있으며, "트레일러" 값(청크 전송 방식과 관련됨)을 추가하여 서버에 마지막 0 크기 청크 뒤에 트레일러에 추가 필드를 받을 것으로 예상함을 알린다. HTTP/2에서는 `trailers`만 지원된다.

예시: `TE: trailers, [[DEFLATE]]`

#### Trailer

[RFC 9110, 영구] Trailer 일반 필드 값은 주어진 헤더 필드 집합이 청크 전송 코딩으로 인코딩된 메시지의 트레일러에 존재함을 나타낸다.

예시: `Trailer: Max-Forwards`

#### Transfer-Encoding

[RFC 9110, 영구] 엔티티를 사용자에게 안전하게 전송하는 데 사용되는 인코딩 형식. 현재 정의된 메서드는 청크, compress, deflate, gzip, identity이다. HTTP/2에서는 사용되지 않아야 한다.

예시: `Transfer-Encoding: chunked`

#### User-Agent

[RFC 9110, 영구] 사용자 에이전트의 사용자 에이전트 문자열.

예시: `User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0`

#### Upgrade

[RFC 9110, 영구] 서버에 다른 프로토콜로 업그레이드하도록 요청한다. HTTP/2에서는 사용되지 않아야 한다.

예시: `Upgrade: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket`

#### Via

[RFC 9110, 영구] 요청이 전송된 프록시를 서버에 알린다.

예시: `Via: 1.0 fred, 1.1 example.com (Apache/1.1)`

#### Warning

[RFC 7234, 9111, 폐기됨] 엔티티 본문에 있을 수 있는 문제에 대한 경고. 이 헤더는 서버에서 보내지 않거나 클라이언트에서 인지하지 않는 경우가 많으므로, 이 헤더와 해당 코드는 2022년 HTTP 워킹 그룹에 의해 로 폐기되었다.

다음 캐싱 관련 경고 코드는 RFC 7234에 따라 지정되었다.

;  110 Response is Stale
: 캐시가 제공한 응답이 오래되었다 (콘텐츠의 유효 기간이 Cache-Control 헤더에 의해 설정된 최대 유효 기간 또는 휴리스틱으로 선택된 수명을 초과했다).

;  111 Revalidation Failed
: 캐시는 원본 서버에 도달할 수 없어 응답을 검증할 수 없었다.

;  112 Disconnected Operation
: 캐시가 네트워크의 나머지 부분에서 의도적으로 연결이 끊겼다.

;  113 Heuristic Expiration
: 캐시가 휴리스틱으로 24시간보다 긴 유효 기간을 선택했으며 응답의 유효 기간이 24시간을 초과했다.

;  199 Miscellaneous Warning
: 임의의, 특정하지 않은 경고. 경고 텍스트는 기록되거나 사용자에게 표시될 수 있다.

;  214 Transformation Applied
: 프록시가 콘텐츠 인코딩, 미디어 타입 등을 변경하는 것과 같이 표현에 어떤 변환을 적용한 경우 추가된다.

;  299 Miscellaneous Persistent Warning
: 199와 동일하지만, 영구적인 경고를 나타낸다.

예시: `Warning: 199 Miscellaneous warning`

### 일반적인 비표준 요청 필드

#### Upgrade-Insecure-Requests
(아마도 HTTP -> HTTPS 마이그레이션 중인) 혼합 콘텐츠를 호스팅하는 서버에 클라이언트가 HTTPS로 리디렉션을 선호하며 `Content-Security-Policy: upgrade-insecure-requests`를 처리할 수 있다고 알린다.

예시: Upgrade-Insecure-Requests: 1

#### X-Requested-With
주로 Ajax 요청을 식별하는 데 사용된다 (대부분의 자바스크립트 프레임워크는 `XMLHttpRequest` 값을 가진 이 필드를 보낸다). 또한 WebView를 사용하는 안드로이드 앱을 식별한다.

예시: ` X-Requested-With: XMLHttpRequest`

#### DNT

웹 애플리케이션에 사용자의 추적을 비활성화하도록 요청한다. 이는 파이어폭스 4.0 베타 11부터 모질라의 X-Do-Not-Track 헤더 필드 버전이다. 사파리 및 IE9도 이 필드를 지원한다. 2011년 3월 7일, IETF에 초안 제안서가 제출되었다. W3C 추적 보호 워킹 그룹은 사양을 작성 중이다.

예시:

`DNT: 1` (추적 금지 활성화)

`DNT: 0` (추적 금지 비활성화)

#### X-Forwarded-For

HTTP 프록시 또는 로드 밸런서를 통해 웹 서버에 연결하는 클라이언트의 원래 IP 주소를 식별하기 위한 사실상 표준. Forwarded 헤더로 대체되었다.

예시:
`X-Forwarded-For: client1, proxy1, proxy2`
`X-Forwarded-For: 129.78.138.66, 129.78.64.103`

#### X-Forwarded-Host
역방향 프록시(로드 밸런서)의 호스트 이름 및 포트가 요청을 처리하는 원본 서버와 다를 수 있으므로 클라이언트가 `Host` HTTP 요청 헤더에서 요청한 원래 호스트를 식별하기 위한 사실상 표준. Forwarded 헤더로 대체되었다.

예시:

`X-Forwarded-Host: en.wikipedia.org:8080`

`X-Forwarded-Host: en.wikipedia.org`

#### X-Forwarded-Proto
역방향 프록시(또는 로드 밸런서)에 대한 요청이 HTTPS이더라도 HTTP를 사용하여 웹 서버와 통신할 수 있으므로 HTTP 요청의 원래 프로토콜을 식별하기 위한 사실상 표준. 헤더의 대체 형식(X-ProxyUser-Ip)은 Google 서버와 통신하는 Google 클라이언트에서 사용된다. Forwarded 헤더로 대체되었다.

예시: `X-Forwarded-Proto: https`

#### Front-End-Https
Microsoft 응용 프로그램 및 로드 밸런서에서 사용되는 비표준 헤더 필드.

예시: `Front-End-Https: on`

#### X-Http-Method-Override
웹 애플리케이션에 요청에 지정된 메서드(일반적으로 POST)를 헤더 필드에 지정된 메서드(일반적으로 PUT 또는 DELETE)로 재정의하도록 요청한다. 이는 사용자 에이전트 또는 방화벽이 PUT 또는 DELETE 메서드를 직접 보내는 것을 방지할 때 사용될 수 있다 (이는 소프트웨어 구성 요소의 버그이거나 의도적인 구성일 수 있으며, 이 경우 우회하는 것은 잘못된 일일 수 있다).

예시: `X-HTTP-Method-Override: DELETE`

#### X-ATT-DeviceId
AT&T 장치의 User-Agent 문자열에서 일반적으로 발견되는 MakeModel/Firmware를 더 쉽게 파싱할 수 있도록 한다.

예시: `X-Att-Deviceid: GT-P7320/P7320XXLPG`

#### X-Wap-Profile
현재 연결 중인 장치에 대한 전체 설명과 세부 정보가 포함된 인터넷상의 XML 파일로 연결된다. 오른쪽 예시는 AT&T 삼성 갤럭시 S2용 XML 파일이다.

예시: `x-wap-profile: http://wap.samsungmobile.com/uaprof/SGH-I777.xml`

#### Proxy-Connection
HTTP 사양에 대한 오해로 구현되었다. 초기 HTTP 버전 구현의 실수로 인해 일반적이다. 표준 Connection 필드와 정확히 동일한 기능을 가진다. HTTP/2에서는 사용되지 않아야 한다.

예시: `Proxy-Connection: keep-alive`

#### X-UIDH
버라이즌 와이어리스 고객을 식별하는 고유 ID의 서버 측 심층 패킷 검사. "영구 쿠키" 또는 "슈퍼 쿠키"라고도 알려져 있다.

예시: `X-UIDH: ...`

#### X-Csrf-Token
사이트 간 요청 위조를 방지하는 데 사용된다. 대체 헤더 이름은 `X-CSRFToken` 및 `X-XSRF-TOKEN`이다.

예시: `X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql`

#### X-Request-ID, X-Correlation-ID, Correlation-ID
클라이언트와 서버 간의 HTTP 요청을 연관시킨다. traceparent 헤더로 대체되었다.

예시: X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5

#### Save-Data
크롬, 오페라, 얀덱스 브라우저에서 사용할 수 있는 Save-Data 클라이언트 힌트 요청 헤더를 통해 개발자는 브라우저에서 데이터 절약 모드를 선택한 사용자에게 더 가볍고 빠른 애플리케이션을 제공할 수 있다.

예시: Save-Data: on

#### Sec-GPC
Sec-GPC (글로벌 개인 정보 제어) 요청 헤더는 사용자가 웹사이트나 서비스가 자신의 개인 정보를 제3자와 판매하거나 공유하는 데 동의하는지 여부를 나타낸다.

예시: Sec-GPC: 1

## 응답 필드
이 섹션에서는 응답에 사용되는 헤더 필드를 나열한다.

### 표준 응답 필드

#### Accept-CH

[RFC 8942, 실험적] HTTP 클라이언트 힌트를 요청한다.

예시: `Accept-CH: UA, Platform`

#### Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Expose-Headers, Access-Control-Max-Age, Access-Control-Allow-Methods, Access-Control-Allow-Headers

[RFC 7480, 영구] 어떤 웹사이트가 교차 출처 리소스 공유에 참여할 수 있는지 지정한다.

예시: `Access-Control-Allow-Origin: *`

#### Accept-Patch

[RFC 5789, 영구] 이 서버가 지원하는 패치 문서 형식을 지정한다.

예시: `Accept-Patch: text/example;charset=utf-8`

#### Accept-Ranges

[RFC 9110, 영구] 이 서버가 바이트 서빙을 통해 지원하는 부분 콘텐츠 범위 유형.

예시: `Accept-Ranges: bytes`

#### Age

[RFC 9111, 영구] 객체가 프록시 캐시에 있었던 시간(초).

예시: `Age: 12`

#### Allow

[RFC 9110, 영구] 지정된 리소스에 대한 유효한 메서드. 405 Method Not Allowed에 사용된다.

예시: `Allow: GET, HEAD`

#### Alt-Svc

[RFC 7838, 영구] 서버는 "Alt-Svc" 헤더(대체 서비스 의미)를 사용하여 해당 리소스가 다른 네트워크 위치(호스트 또는 포트) 또는 다른 프로토콜을 사용하여 액세스할 수 있음을 나타낸다. HTTP/2를 사용하는 경우 서버는 대신 ALTSVC 프레임을 보내야 한다.

예시: `Alt-Svc: http/1.1="http2.example.com:8001"; ma=7200`

#### Cache-Control

[RFC 9111, 영구] 서버에서 클라이언트에 이르는 모든 캐싱 메커니즘에 응답을 캐시할 수 있는지 여부를 알려준다. 숫자 값은 초 단위이다.

웹 서버가 `Cache-Control: no-cache`로 응답하는 경우, 웹 브라우저 또는 다른 캐싱 시스템 (중간 프록시)은 원본 서버와 먼저 확인하지 않고 (이 프로세스를 검증이라고 함) 후속 요청을 충족하기 위해 응답을 사용해서는 안 된다. 이 헤더 필드는 HTTP/1.1의 일부이며, 일부 캐시 및 브라우저는 이를 무시한다. `Expires` HTTP/1.0 헤더 필드 값을 응답 시간보다 이른 시간으로 설정하여 시뮬레이션할 수 있다. 는 브라우저나 프록시에 콘텐츠를 캐시할지 여부를 지시하는 것이 아님에 유의한다. 이는 브라우저와 프록시에 캐시 콘텐츠를 사용하기 전에 서버와 캐시 콘텐츠를 검증하도록 지시한다 (이는 , , , 및 를 통해 수행된다). 따라서  값을 보내는 것은 브라우저나 프록시에 캐시 콘텐츠의 "최신성 기준"에만 의존하여 캐시 내용을 사용하지 않도록 지시한다. 검증 없이 오래된 콘텐츠가 사용자에게 표시되는 것을 방지하는 또 다른 일반적인 방법은 `Cache-Control: max-age=0`인데, 이는 콘텐츠가 오래되었으며 사용하기 전에 검증해야 한다고 사용자 에이전트에 지시한다.

값 `no-store`는 브라우저에 응답을 캐시하지 않도록 지시하지만, 브라우저는 여전히 캐시할 수 있다. 특히 HTTP/1.1 정의는 기록 저장소와 캐시를 구분한다. 사용자가 이전 페이지로 돌아가는 경우, 브라우저는 기록 저장소에 저장된 페이지를 표시할 수 있다. 이는 사양에 따른 올바른 동작이다. 많은 사용자 에이전트는 프로토콜이 HTTP 또는 HTTPS인지에 따라 기록 저장소 또는 캐시에서 페이지를 로드할 때 다른 동작을 제공한다.

예시: `Cache-Control: max-age=3600`

#### Connection

[RFC 9110, 영구] 현재 연결을 위한 제어 옵션 및 홉별 응답 필드 목록. HTTP/2에서는 사용되지 않아야 한다.

예시: `Connection: close`

#### Content-Disposition

[RFC 2616, 4021, 6266, 영구] 이진 형식의 알려진 MIME 유형에 대해 "파일 다운로드" 대화 상자를 표시하거나 동적 콘텐츠에 대한 파일 이름을 제안할 수 있는 기회. 특수 문자가 있는 경우 따옴표가 필요하다.

예시: `Content-Disposition: attachment; filename="fname.ext"`

#### Content-Encoding

[RFC 9110, 영구] 데이터에 사용된 인코딩 유형. HTTP 압축을 참조한다.

예시: `Content-Encoding: gzip`

#### Content-Language

[RFC 9110, 영구] 포함된 콘텐츠의 의도된 대상에 대한 자연어 또는 언어.

예시: `Content-Language: da`

#### Content-Length

[RFC 9110, 영구] 응답 본문의 옥텟 (8비트 바이트) 길이.

예시: `Content-Length: 348`

#### Content-Location

[RFC 9110, 영구] 반환된 데이터의 대체 위치.

예시: `Content-Location: /index.htm`

#### Content-MD5

[RFC 1544, 1864, 4021, 폐기됨] 응답 내용의 베이스64 인코딩된 바이너리 MD5 합계.

예시: `Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==`

#### Content-Range

[RFC 9110, 영구] 전체 본문 메시지에서 이 부분 메시지가 속하는 위치.

예시: `Content-Range: bytes 21010-47021/47022`

#### Content-Type

[RFC 9110, 영구] 이 콘텐츠의 MIME 유형.

예시: `Content-Type: text/html; charset=utf-8`

#### Date

[RFC 9110, 영구] 메시지가 전송된 날짜 및 시간 (RFC 9110에 정의된 "HTTP-date" 형식).

예시: `Date: Tue, 15 Nov 1994 08:12:31 GMT`

#### Delta-Base

[RFC 3229, 영구] 응답의 델타 인코딩 엔티티 태그를 지정한다.

예시: `Delta-Base: "abc"`

#### ETag

[RFC 9110, 영구] 리소스의 특정 버전에 대한 식별자, 종종 메시지 다이제스트.

예시: `ETag: "737060cd8c284d8af7ad3082f209582d"`

#### Expires

[RFC 9111, 영구] 응답이 오래된 것으로 간주되는 날짜/시간 (RFC 9110에 정의된 "HTTP-date" 형식).

예시: `Expires: Thu, 01 Dec 1994 16:00:00 GMT`

#### IM

[RFC 3229, 영구] 응답에 적용된 인스턴스 조작.

예시: `IM: feed`

#### Last-Modified

[RFC 9110, 영구] 요청된 객체의 마지막 수정 날짜 (RFC 9110에 정의된 "HTTP-date" 형식).

예시: `Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT`

#### Link

[RFC 8288, 영구] RFC 8288에 의해 관계 유형이 정의된 다른 리소스와의 유형화된 관계를 표현하는 데 사용된다.

예시: `Link: &lt;/feed&gt;; rel="alternate"`

#### Location

[RFC 9110, 영구] 리다이렉션 또는 새 리소스가 생성되었을 때 사용된다.

예시: `Location: `

예시: `Location: `

#### P3P

[RFC 2626, 영구] 이 필드는 `P3P:CP="your_compact_policy"` 형식으로 P3P 정책을 설정하는 것으로 되어 있다. 그러나 P3P는 성공하지 못했고, 대부분의 브라우저는 이를 완전히 구현하지 않았다. 많은 웹사이트가 이 필드를 가짜 정책 텍스트로 설정하여 브라우저가 P3P 정책이 존재한다고 생각하게 하고 제3자 쿠키에 대한 권한을 부여하도록 속였다.

예시: `P3P: CP="This is not a P3P policy! See  for more info."`

#### Pragma

[RFC 9111, 영구] 요청-응답 체인을 따라 다양한 효과를 가질 수 있는 구현별 필드.

예시: `Pragma: no-cache`

#### Preference-Applied

[RFC 7240, 영구] 서버가 요청 처리 시 적용한 Prefer 토큰을 나타낸다.

예시: `Preference-Applied: return=representation`

#### Proxy-Authenticate

[RFC 9110, 영구] 프록시에 접근하기 위한 인증을 요청한다.

예시: `Proxy-Authenticate: Basic`

#### Public-Key-Pins

[RFC 7469, 영구] HTTP 공개 키 고정, 웹사이트의 실제 TLS 인증서의 해시를 알린다.

예시: `Public-Key-Pins: max-age=2592000; pin-sha256="E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g=";`

#### Retry-After

[RFC 9110, 영구] 엔티티를 일시적으로 사용할 수 없는 경우, 클라이언트에게 나중에 다시 시도하도록 지시한다. 값은 지정된 기간(초) 또는 HTTP-date일 수 있다.

예시 1: `Retry-After: 120`
예시 2: `Retry-After: Fri, 07 Nov 2014 23:59:59 GMT`

#### Server

[RFC 9110, 영구] 서버의 이름.

예시: `Server: Apache/2.4.1 (Unix)`

#### Set-Cookie

[RFC 6265, 영구] HTTP 쿠키.

예시: `Set-Cookie: CookieName=CookieValue; Max-Age=3600; Version=1`

#### Strict-Transport-Security

[RFC 6797, 영구] HTTP 클라이언트에게 HTTPS 전용 정책을 얼마나 오래 캐시할지, 그리고 이것이 하위 도메인에 적용되는지 여부를 알려주는 HSTS 정책.

예시: `Strict-Transport-Security: max-age=16070400; includeSubDomains`

#### Trailer

[RFC 9110, 영구] Trailer 일반 필드 값은 주어진 헤더 필드 집합이 청크 전송 코딩으로 인코딩된 메시지의 트레일러에 존재함을 나타낸다.

예시: `Trailer: Max-Forwards`

#### Transfer-Encoding

[RFC 9110, 영구] 엔티티를 사용자에게 안전하게 전송하는 데 사용되는 인코딩 형식. 현재 정의된 메서드는 청크, compress, deflate, gzip, identity이다. HTTP/2에서는 사용되지 않아야 한다.

예시: `Transfer-Encoding: chunked`

#### Tk

[RFC 2295, 영구] 추적 상태 헤더, DNT(추적 금지) 요청에 대한 응답으로 보내도록 제안된 값. 가능한 값:

* "!" — 공사 중
* "?" — 동적
* "G" — 다자간 게이트웨이
* "N" — 추적 안 함
* "T" — 추적 중
* "C" — 동의 하에 추적 중
* "P" — 동의한 경우에만 추적 중
* "D" — DNT 무시
* "U" — 업데이트됨

예시: `Tk: ?`

#### Upgrade

[RFC 9110, 영구] 클라이언트에게 다른 프로토콜로 업그레이드하도록 요청한다. HTTP/2에서는 사용되지 않아야 한다.

예시: `Upgrade: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket`

#### Vary

[RFC 9110, 영구] 다운스트림 프록시에 향후 요청 헤더를 어떻게 일치시켜 캐시된 응답을 사용할 수 있는지, 아니면 원본 서버에서 새 응답을 요청해야 하는지 결정하도록 알려준다.

예시 1: `Vary: *`
예시 2: `Vary: Accept-Language`

#### Via

[RFC 9110, 영구] 응답이 전송된 프록시를 클라이언트에 알린다.

예시: `Via: 1.0 fred, 1.1 example.com (Apache/1.1)`

#### Warning

[RFC 7234, RFC 9111, 폐기됨] 엔티티 본문에 있을 수 있는 문제에 대한 일반적인 경고.

예시: `Warning: 199 Miscellaneous warning`

#### WWW-Authenticate

[RFC 9110, 영구] 요청된 엔티티에 접근하기 위해 사용해야 하는 인증 체계를 나타낸다.

예시: `WWW-Authenticate: Basic`

#### X-Frame-Options

[RFC 7034, 폐기됨] 클릭재킹 보호: `deny` - 프레임 내 렌더링 금지, `sameorigin` - 출처 불일치 시 렌더링 금지, `allow-from` - 지정된 위치에서 허용, `allowall` - 비표준, 모든 위치에서 허용.

예시: `X-Frame-Options: deny`

### 일반적인 비표준 응답 필드

#### Content-Security-Policy, X-Content-Security-Policy, X-WebKit-CSP
콘텐츠 보안 정책 정의.

예시:
X-WebKit-CSP: default-src 'self'

#### Expect-CT
인증서 투명성을 강제하는 것을 선호하도록 알린다.

예시:
`Expect-CT: max-age=604800, enforce, report-uri="https://example.example/report"`

#### NEL
네트워크 요청 로깅을 구성하는 데 사용된다.

예시:

#### Permissions-Policy
브라우저의 다양한 기능 또는 API를 허용하거나 비활성화한다.

예시:
`Permissions-Policy: fullscreen=(), camera=(), microphone=(), geolocation=(), interest-cohort=()`

#### Refresh
브라우저에 주어진 초(`0`은 즉시를 의미) 후에 페이지를 새로 고치거나 다른 URL로 리다이렉션하도록 지시한다. 1995년 넷스케이프가 도입한 헤더이며 대부분의 웹 브라우저에서 지원하는 사실상 표준이 되었다. 2017년 HTML Living Standard에 최종적으로 표준화되었다.

예시:
`Refresh: 5; url=<span class="plainlinks">http://www.w3.org/pub/WWW/People.html</span>`

#### Report-To
사용자 에이전트에 출처에 대한 보고 엔드포인트를 저장하도록 지시한다.

예시:

#### Status
CGI 헤더 필드는 HTTP 응답의 상태를 지정한다. 일반 HTTP 응답은 RFC 9110에 의해 정의된 별도의 "Status-Line"을 대신 사용한다.

예시:
`Status: 200 OK `

#### Timing-Allow-Origin
`Timing-Allow-Origin` 응답 헤더는 Resource Timing API 기능을 통해 검색된 속성 값(교차 출처 제한으로 인해 0으로 보고될 수 있는 값)을 볼 수 있는 출처를 지정한다.

예시:
`Timing-Allow-Origin: *`
`Timing-Allow-Origin: &lt;origin&gt;[, &lt;origin&gt;]*`

#### X-Content-Duration
오디오 또는 비디오의 길이를 초 단위로 제공한다. 현재 브라우저에서는 지원되지 않는다. 이 헤더는 게코(Gecko) 브라우저에서만 지원되었으며, 2015년에 지원이 제거되었다.

예시:
X-Content-Duration: 42.666

#### X-Content-Type-Options
유일하게 정의된 값인 "nosniff"는 인터넷 익스플로러가 선언된 콘텐츠 유형에서 MIME 스니핑하여 응답을 전환하는 것을 방지한다. 이는 확장을 다운로드할 때 구글 크롬에도 적용된다.

예시:
X-Content-Type-Options: nosniff

#### X-Powered-By
웹 애플리케이션을 지원하는 기술(예: ASP.NET, PHP, JBoss)을 지정한다 (버전 세부 정보는 종종 X-Runtime, X-Version 또는 X-AspNet-Version에 있다).

예시:
X-Powered-By: PHP/5.4.0

#### X-Redirect-By
특정 리디렉션을 담당하는 구성 요소를 지정한다.

예시:
X-Redirect-By: WordPress
X-Redirect-By: Polylang

#### X-Request-ID, X-Correlation-ID
클라이언트와 서버 간의 HTTP 요청을 연관시킨다.

예시:
X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5

#### X-UA-Compatible
콘텐츠를 표시하는 데 사용할 선호하는 렌더링 엔진(종종 하위 호환성 모드)을 권장한다. 또한 인터넷 익스플로러에서 Chrome Frame을 활성화하는 데도 사용된다. HTML Standard에서는 `IE=edge` 값만 정의되어 있다.

예시:

X-UA-Compatible: IE=edge

X-UA-Compatible: IE=EmulateIE7
X-UA-Compatible: Chrome=1

#### X-XSS-Protection
사이트 간 스크립팅 (XSS) 필터

예시:
X-XSS-Protection: 1; mode=block

## 같이 보기
* HTTP 헤더 주입
* HTTP 상태 코드

## 각주

## 외부 링크
* 헤더: 영구 메시지 헤더 필드 이름
* : IETF HTTP 상태 관리 메커니즘
* : HTTP 시맨틱스
* : HTTP 캐싱
* : HTTP/1.1
* : HTTP/2
* : HTTP/3
* : Forwarded HTTP 확장
* : Prefer 헤더 for HTTP
* 웹 서버 관점에서의 HTTP/1.1 헤더
* 인터넷 익스플로러 및 사용자 정의 HTTP 헤더 - EricLaw의 IEInternals - 사이트 홈 - MSDN 블로그




분류:인터넷에 관한 목록