상위 질문
타임라인
채팅
관점

HTTP 헤더 필드 목록

위키미디어 목록 항목 위키백과, 무료 백과사전

HTTP 헤더 필드 목록
Remove ads

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

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

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

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

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

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

Remove ads

요청 필드

요약
관점

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

표준 요청 필드

A-IM

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

예시: 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 (아래)으로 시작한다.[6]

예시: 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 헤더 필드는 동일한 목적을 가진다.[7]

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

예시: Cache-Control: no-cache

Connection

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

예시: Connection: keep-alive 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 합계.[11]

예시: Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==

Content-Type

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

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

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

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

Date

[RFC 9110, 영구] 메시지가 시작된 날짜 및 시간 (RFC 9110: HTTP Semantics, section 5.6.7 "Date/Time Formats"에 정의된 "HTTP-date" 형식).

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

Expect

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

예시: Expect: 100-continue

Forwarded

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

예시: 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부터 필수이다.[13] 요청이 HTTP/2에서 직접 생성된 경우 사용되지 않아야 한다.[14]

예시: 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 연결을 제어하는 매개변수를 포함하는 연결별 헤더 필드이다.[15][16]

예시: 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-* 응답 필드를 서버에 요청함).[6]

예시: Origin: http://www.example-social-network.com

Pragma

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

예시: 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 [sic]

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

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

예시: Referer: http://en.wikipedia.org/wiki/Main_Page

TE

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

예시: TE: trailers, DEFLATE

Trailer

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

예시: Trailer: Max-Forwards

Transfer-Encoding

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

예시: 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에서는 사용되지 않아야 한다.[10]

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

다음 캐싱 관련 경고 코드는 RFC 7234에 따라 지정되었다.REFERENCE FOR RFC7234 IS NOT DEFINED YET. You are invited to add it here.[19]

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를 처리할 수 있다고 알린다.[20]

예시: Upgrade-Insecure-Requests: 1

X-Requested-With

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

예시: X-Requested-With: XMLHttpRequest

DNT

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

예시:

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

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

X-Forwarded-For

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

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

X-Forwarded-Host

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

예시:

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 헤더로 대체되었다.[28]

예시: X-Forwarded-Proto: https

Front-End-Https

Microsoft 응용 프로그램 및 로드 밸런서에서 사용되는 비표준 헤더 필드.[29]

예시: Front-End-Https: on

X-Http-Method-Override

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

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

X-ATT-DeviceId

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

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

X-Wap-Profile

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

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

Proxy-Connection

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

예시: Proxy-Connection: keep-alive

X-UIDH

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

예시: X-UIDH: ...

X-Csrf-Token

사이트 간 요청 위조를 방지하는 데 사용된다. 대체 헤더 이름은 X-CSRFToken[37]X-XSRF-TOKEN[38]이다.[39]

예시: X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql

X-Request-ID, X-Correlation-ID, Correlation-ID

클라이언트와 서버 간의 HTTP 요청을 연관시킨다. traceparent 헤더로 대체되었다.[stackoverflow2 1][40][41][42][43]

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

Save-Data

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

예시: Save-Data: on

Sec-GPC

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

예시: Sec-GPC: 1

Remove ads

응답 필드

요약
관점

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

표준 응답 필드

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, 영구] 어떤 웹사이트가 교차 출처 리소스 공유에 참여할 수 있는지 지정한다.[6]

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

Accept-Patch

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

예시: 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 프레임을 보내야 한다.[47]

예시: 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 헤더 필드 값을 응답 시간보다 이른 시간으로 설정하여 시뮬레이션할 수 있다. no-cache는 브라우저나 프록시에 콘텐츠를 캐시할지 여부를 지시하는 것이 아님에 유의한다. 이는 브라우저와 프록시에 캐시 콘텐츠를 사용하기 전에 서버와 캐시 콘텐츠를 검증하도록 지시한다 (이는 If-Modified-Since, If-Unmodified-Since, If-Match, 및 If-None-Match를 통해 수행된다). 따라서 no-cache 값을 보내는 것은 브라우저나 프록시에 캐시 콘텐츠의 "최신성 기준"에만 의존하여 캐시 내용을 사용하지 않도록 지시한다. 검증 없이 오래된 콘텐츠가 사용자에게 표시되는 것을 방지하는 또 다른 일반적인 방법은 Cache-Control: max-age=0인데, 이는 콘텐츠가 오래되었으며 사용하기 전에 검증해야 한다고 사용자 에이전트에 지시한다.

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

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

Connection

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

예시: Connection: close

Content-Disposition

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

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

Content-Encoding

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

예시: Content-Encoding: gzip

Content-Language

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

예시: 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 합계.[11]

예시: 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, 영구] 응답의 델타 인코딩 엔티티 태그를 지정한다.[5]

예시: 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, 영구] 응답에 적용된 인스턴스 조작.[5]

예시: IM: feed

Last-Modified

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

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

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

예시: Link: </feed>; rel="alternate"

Location

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

예시: Location: http://www.w3.org/pub/WWW/People.html

예시: Location: /pub/WWW/People.html

P3P

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

예시: P3P: CP="This is not a P3P policy! See https://en.wikipedia.org/wiki/Special:CentralAutoLogin/P3P 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 인증서의 해시를 알린다.[52]

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

Retry-After

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

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

Server

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

예시: Server: Apache/2.4.1 (Unix)

[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에서는 사용되지 않아야 한다.[10]

예시: Transfer-Encoding: chunked

Tk

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

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

예시: Tk: ?

Upgrade

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

예시: 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, 폐기됨] 엔티티 본문에 있을 수 있는 문제에 대한 일반적인 경고.[17]

예시: Warning: 199 Miscellaneous warning

WWW-Authenticate

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

예시: WWW-Authenticate: Basic

X-Frame-Options

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

예시: X-Frame-Options: deny

일반적인 비표준 응답 필드

Content-Security-Policy, X-Content-Security-Policy, X-WebKit-CSP

콘텐츠 보안 정책 정의.[55]

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

Expect-CT

인증서 투명성을 강제하는 것을 선호하도록 알린다.[56]

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

NEL

네트워크 요청 로깅을 구성하는 데 사용된다.[57]

예시: NEL: { "report_to": "name_of_reporting_group", "max_age": 12345, "include_subdomains": false, "success_fraction": 0.0, "failure_fraction": 1.0 }

Permissions-Policy

브라우저의 다양한 기능 또는 API를 허용하거나 비활성화한다.[58]

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

Refresh

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

예시: Refresh: 5; url=http://www.w3.org/pub/WWW/People.html

Report-To

사용자 에이전트에 출처에 대한 보고 엔드포인트를 저장하도록 지시한다.[61]

예시: Report-To: { "group": "csp-endpoint", "max_age": 10886400, "endpoints": [ { "url": "https-url-of-site-which-collects-reports" } ] }

Status

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

예시: Status: 200 OK

Timing-Allow-Origin

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

예시: Timing-Allow-Origin: *
Timing-Allow-Origin: <origin>[, <origin>]*

X-Content-Duration

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

예시: X-Content-Duration: 42.666

X-Content-Type-Options

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

예시: X-Content-Type-Options: nosniff[68]

X-Powered-By

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

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

X-Redirect-By

특정 리디렉션을 담당하는 구성 요소를 지정한다.[69]

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

X-Request-ID, X-Correlation-ID

클라이언트와 서버 간의 HTTP 요청을 연관시킨다.[stackoverflow2 1]

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

X-UA-Compatible

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

예시:

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

X-XSS-Protection

사이트 간 스크립팅 (XSS) 필터[72]

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

Remove ads

같이 보기

각주

외부 링크

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads