: HTTP 헤더(요청 & 응답 헤더)는 클라이언트와 서버 간에 추가 정보를 전달하는 데 사용된다.
field-name: field-value
List of HTTP header fields - Wikipedia
: HTTP 전송에 필요한 모든 부가정보를 담기 위해 사용한다.
General header (일반 헤더)
: 요청과 응답 모두에 적용되는 헤더로, body로 전송되는 데이터(payload)와 관련이 없는 헤더
Request header (요청 헤더)
: fetch를 통해 가져올 리소스나 클라이언트 자체에 대한 정보를 포함하는 헤더
Response header (응답 헤더)
: 리소스의 위치 또는 서버 자체에 대한 정보(이름, 버전 등)와 같이 응답에 대한 부가적인 정보를 갖는 헤더
Representation header (표현 헤더)
: 요청과 응답 모두에 적용되는 헤더로, body로 전송되는 데이터(payload)에 대한 정보를 담고 있는 헤더
(맨 위의 사진에 표현 헤더가 안보이지만, 요청 헤더와 응답 헤더를 열어보면 안에 함께 섞여 있다.)
: 요청과 응답 모두에 적용되는 헤더로, body로 전송되는 데이터(payload)와 관련이 없는 헤더
: HTTP 메세지가 발생한 날짜와 시간
: 현재의 전송이 완료된 후 네트워크 접속(TCP)을 유지할지 끊을지를 제어할 수 있는 헤더
: 캐시에 관련해 설정할 수 있는 헤더
(1년 동안 캐시를 사용하겠다는 뜻)
: fetch를 통해 가져올 리소스나 클라이언트 자체에 대한 정보를 포함하는 헤더
: 요청을 보낸 사용자 에이전트의 이메일 정보
일반적으로 잘 사용하지 않고, 검색 엔진에서 주로 사용한다.
: 현재 요청된 페이지의 이전 웹 페이지 주소
A 페이지에서 B 페이지로 이동하는 경우, 요청할 때 Referer: A를 포함해서 요청을 보낸다.
Referer를 이용하면 유입 경로를 수집할 수 있다.
: 클라이언트의 애플리케이션 정보(웹 브라우저 정보 등)
통계 정보로 사용할 수 있다. e.g. 어떤 종류의 브라우저에서 장애가 발생하는지 파악 가능
: 요청한 호스트 정보(도메인)
필수 헤더이며, 하나의 서버가 여러 도메인을 처리해야할 때 호스트 정보를 명시하기 위해 사용한다. (어떤 서버에게 요청을 보낸 건지)
= 하나의 IP 주소에 여러 도메인이 적용되어있을 때 호스트 정보를 명시하기 위해 사용한다.
: 서버로 POST 요청을 보낼 때, 요청을 보낸 주소 (fetch 요청)
바로 이때 요청을 보낸 주소와 받는 주소가 다르면 CORS 에러가 발생한다.
응답 헤더의 Access-Control-Allow-Origin과 관련 있는 헤더이다.
: 인증 토큰(e.g. JWT)을 서버로 보낼 때 사용하는 헤더
토큰의 종류(e.g. Basic) + 실제 토큰 문자를 전송한다.
: 클라이언트에서 요청 시 선호하는 표현을 헤더에 지정하는 것
Quality Values(q)
- 0~1, 클 수록 높은 우선 순위를 가진다.
- 생략하는 경우 1
: 클라이언트가 선호하는 미디어 타입(MIME 타입) 전달
: 클라이언트가 선호하는 문자 인코딩
: 클라이언트가 선호하는 압축 인코딩
: 클라이언트가 선호하는 자연 언어
: 리소스의 위치 또는 서버 자체에 대한 정보(이름, 버전 등)와 같이 응답에 대한 부가적인 정보를 갖는 헤더
: 요청을 처리하는 Origin 서버의 소프트웨어 정보
: 페이지를 리디렉션할 URL
웹 브라우저는 201(Created)
, 3xx(Redirection)
응답 결과에 Location 헤더가 있으면, 해당 URL로 자동 이동(리다이렉트)한다.
: 허용 가능한 HTTP 메소드
405(Method Not Allowed)
에서 응답에 포함된다.
: 다음 요청을 하기까지 전에 사용자 에이전트가 기다려야 하는 시간
503(Service Unavailable)
에서 서비스가 언제까지 불능인지 알려줄 수 있다.
: 요청과 응답 모두에 적용되는 헤더로, body로 전송되는 데이터(payload)에 대한 정보를 담고 있는 헤더
: 데이터의 미디어 타입과 문자 인코딩 방식
MIME 타입
: 문서나 파일의 미디어 타입을 나타내며,
type/subtype
두 부분으로 나타낸다.
- type : 카테고리 e.g.
text
,image
,audio
,video
,application
- subtype : 정확한 MIME 타입 e.g.
text/plain
,text/html
,application/json
: 데이터의 압축 방식
만약 데이터가 압축되었다면, Content-Encoding과 Content-Length 2가지 항목을 토대로 압축을 해제할 수 있다.
: 데이터의 자연 언어(사용자 언어)
: 데이터의 byte 길이 또는 크기(10진수)
이 글은 다음 링크를 참고하여 작성한 글입니다.
[Network] HTTP 헤더의 종류 및 항목