HTTP 헤더

Hypertext Transfer Protocol Header

 

HTTP는 start line, header, body로 구성된다.

start line은 반드시 한 줄이며 method, authority, version + crlf 의 값을 가진다.

header는 start line과 body와 구분 짓는 빈 줄 이전 사이의 모든 값을 의미한다.

 

  • HTTP 요청, 응답에 필요한 부가정보를 포함한다.
  • 표준헤더가 많아서 다양한 형태가 존재한다.
  • 필요 시, 필드 추가가 가능하다.

 

영문으로는 다음을 참조하길 바란다.

HTTP Header - Margaret Rouse, techopedia.com

HTTP headers are the name or value pairs that are displayed in the request and response messages of message headers for Hypertext Transfer Protocol (HTTP). Usually, the header name and the value are separated by a single colon. HTTP headers are an integral part of HTTP requests and responses.

 

HTTP 헤더의 종류

  • General Header
  • Request Header
  • Respond Header
  • Representation Header (payload의 metadata)

 

과거에는 Representation Header를 Entity Header라고 불렀다.


Content Negotiation

콘텐츠 협상

 

응답의 형태를 클라이언트가 서버에게 제시하는 것.

따라서 요청에만 사용된다.

 

콘텐츠 협상에는 헤더에서 다음의 필드로 구현된다.

  • Accept: 미디어 타입
  • Accept-Charset: 문자 인코딩
  • Accept-Encoding: 압축 인코딩
  • Accept-Language: 언어

 

협상 우선순위

서버는 클라이언트가 제시한 타입 중 우선순위가 높으면서 처리할 수 있는 것으로 응답한다.

 

Ex>

구글에 검색했을 때, Network http log

가령, 한국에서 구글에 검색하면 요청 헤더에 다음의 필드가 추가된다.

Accept-language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7

0~1의 값을 가지는 q의 값이 클수록 높은 우선순위를 가진다. 생략된 ko-KR는 q=1의 값을 가진다.

같은 q의 값에는 보다 구체적으로 정의된 요청이 우선시된다.

'컴퓨터과학' 카테고리의 다른 글

OAuth, 간단하게 알아보자  (0) 2023.07.07
도커란?  (0) 2023.06.26
API 요청에서 path, query, body의 차이점  (0) 2023.06.10
HTTP status code는 각각 언제 사용될까?  (0) 2023.06.10
TCP/IP를 간단하게 알아보자  (0) 2023.06.10