아래 HTTP 응답 메시지를 보면
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 3423
<html>
<body>...</body>
</html>
하나하나 해석해보자
HTTP 1.1 버전, 200(요청이 성공했음), 알아볼 수 있는 문구 OK
이 아래부터 표현헤더라고 보면된다.
Content-Type -> 표현 데이터의 형식은 text형식의 html이고 UTF-8을 사용하여 인코딩 하였다.
Content-Length -> 표현 데이터의 byte단위 길이이다. 3423 byte이다.
위에 응답메시지에서는 이 두 가지가 나왔으나 4가지 모두에 대해 알아보고
표현 헤더를 통해 표현 데이터의 형식을 알 수 있도록 학습해보겠다!
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Encoding: gzip
Content-Length: 521
lkj123kljoiasudlkjaweioluywlnfdo912u34ljko98udkl
위의 메시지에서는 Encoding 타입은 gzip을 이용한 것을 알 수 있다.
gzip 이외에도 deflate, identity 등이 있다.
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Language: ko
Content-Length: 521
<html>
<body>안녕하세요?</body>
</html>
위의 응답메시지에는 한국어로 되어있기 때문에 ko를 이용하여 표현헤더에 표시가 되어있다.
en, ko, en-US 등 다양한 언어가 표시되어지며
외국 사이트에 접속했을 때 클라이언트가 직접 한국어를 선택한다면
해당 Content-Lenguage가 변경되도록 개발할 수 있다.
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 5
hello
다음은 콘텐츠 네고시에이션이라고 하는 콘텐츠 협상에 대해 설명하겠다.
출처 : 모든 개발자를 위한 HTTP 웹 기본 지식(김영한 강사님 인프런 강의)