HTTP 메시지 헤더
구성
- 메시지 헤더 : 클라이언트와 서버 처리에 필요한 주요 정보를 포함한다.
- 개행 문자 : 메시지 헤더와 메시지 바디를 구분해주는 역할
- 메시지 바디 : 사용자와 리소스를 필요로 하는 정보가 있다.
리퀘스트 HTTP 메시지
1. 메시지 헤더
- 리퀘스트 라인 == 메서드, URI, HTTP 버전
- 리퀘스트 헤더 필드 == HTTP 헤더 필드
- 일반 헤더 필드 == HTTP 헤더 필드
- 엔티티 헤더 필드 == HTTP 헤더 필드
- 그 외
2. 개행 문자
3. 메시지 바디
리스폰스 HTTP 메시지
1. 메시지 헤더
- 상태 라인 == HTTP 버전, 상태 코드
- 리스폰스 헤더 필드 == HTTP 헤더 필드
- 일반 헤더 필드 == HTTP 헤더 필드
- 엔티티 헤더 필드 == HTTP 헤더 필드
- 그 외
2. 개행 문자
3. 메시지 바디
HTTP 헤더 필드
- 클라이언트와 서버 간 통신에서 리퀘스트, 리스폰스에서 사용된다.
- 메시지 바디 크기나 사용하고 있는 언어, 인증 정보 등을 브라우저나 서버에 제공하기 위해 사용된다.
- 용도에 따라 { 일반적, 리퀘스트, 리스폰스, 엔티티 헤더 필드 } 4종류로 분류된다.
HTTP/1.1 일반 헤더 필드
- 리퀘스트 메시지와 리스폰스 메시지 양쪽에서 사용되는 헤더이다.
리퀘스트 헤더 필드
- 클라이언트 측에서 서버 측으로 송신된 리퀘스트 메시지에 사용되는 헤더이다.
- 리퀘스트의 부가 정보와 클라이언트의 정보, 리스폰스의 컨텐츠 우선 순위 정보를 담고 있다.
리스폰스 헤더 필드
- 서버 측으로부터 클라이언트 측으로 송신되는 리스폰스 메시지에 적용된 헤더이다.
- 리스폰스의 부가 정보나, 서버의 정보, 클라이언트에 부가 정보 요구 등을 나타낸다.
엔티티 헤더 필드
- 리퀘스트 메시지와 리스폰스 메시지에 포함된 에니티에 사용되는 헤더이다.
- 콘텐츠의 갱신 시간 같은 엔티티에 관한 정보를 포함한다.
쿠키를 위한 헤더 필드
- 쿠키 : 유지 식별과 상태 관리에 사용되고 있는 기능이다.
- 웹 사이트가 유저의 상태를 관리하기 위해 웹 브라우저 경유로 유저의 컴퓨터 상에 일시적으로 데이터를 기록해두고, 다음에 해당 유저가 웹 사이트에 엑세스할 때 지난번 발행한 쿠키를 송신 받을 수 있다.
- 쿠키가 호출되었을 때 쿠키의 유효 기한과 송신지의 도메인, 경로, 프로토콜 등을 체크할 수 있다.
그 외 헤더 필드
- HTTP 헤더 필드는 독자적으로 확장할 수 있다.
- 그렇기에 웹 서버와 브라우저의 기능에 다양한 독자적인 헤더 필드가 존재한다.