HTTP 프로토콜 메시지는 헤더와 바디로 구분할 수 있다.
//HTTP header
HTTP/1.1 200 OK
Content-Type : text/html;charset=UTF-8
Content-Length : 3423
//HTTP body
<html>
<body>...</body>
</html>
좀 더 자세하게 헤더와 바디에 들어갈 수 있는 정보가 무엇인지 알아보자.
사실 헤더는 들어갈 수 있는 정보가 워낙 많기 때문에 해당 레퍼런스를 참고하면 될 것이다.
자주 쓰이는 헤더로는
Content-Type
Content-Encoding
Content-Language
Content-Length
가 있다.
아래 레퍼런스를 참고해서 여러 헤더 종류를 살펴보자.
https://en.wikipedia.org/wiki/List_of_HTTP_header_fields
콘텐츠 협상은 클라이언트가 선호하는 표현 요청을 말하는데 예를들어 우리나라에서 외국 홈페이지에 접속했을 때 자동으로 한국어 번역을 해주는 경우를 떠올릴 수 있다.
클라이언트가 원하는 언어가 서버에 없을 경우 클라이언트는 우선순위를 정해서 해당순위에 맞는 언어를 서버에 요청할 수 있다.
Accept-Language : ko-KR;q=1,ko;q=0.9,en-US;q=0.8;en;q=0.7