표현 헤더
- Content-Type: 표현 데이터의 형식
- Content-Encoding: 표현 데이터의 압축 방식
- Content-Language: 표현 데이터의 자연 언어
- Content-Length: 표현 데이터의 길이
- 표현 헤더는 전송, 응답 둘다 사용
회원이라는 리소스가 있어요. 이거를 HTML이라는 표현으로 전달할거야 아니면 JSON이라는 데이터 형태의 표현으로 전달한다라고 할 때 표현을 사용.
그래서 표현이라는 것을 할려면 먼저 html로 갔는지 json으로 갔는지 알기 위해서 먼저 헤더에 Content-Type을 사용합니다. 그 다음에 Content-Encoding이라는게 있습니다. 이것은 표현 데이터의 압충 방식에 대해서 설명을하고요. Content-Language라는 것도 있는데요. 이거는 표현 언어가 한국어인지 영어인지 알려주는겁니다. 마지막으로 Content-Length는 표현 데이터의 길이를 내려줄 수도 있습니다. 참고로 이 표현 헤더는 전송과 응답에 둘다 사용될 수 있습니다.
Content-Type(표현 데이터의 형식 설명)
- 미디어 타입, 문자 인코딩
- 예)
- text/html; charset=utf-8
- application/json
- image/png
Content-Encoding(표현 데이터 인코딩)
- 표현 데이터를 압축하기 위해 사용
- 데이터를 전달하는 곳에서 압축 후 인코딩 헤더 추가
- 데이터를 읽는 쪽에서 인코딩 헤더의 정보로 압축 해제
- 예)
- gzip
- deflate
- identity
표현 데이터를 압축할 때 많이 사용합니다. 데이터를 전달하는 곳에서 실제 메시지 바디에 있는 부분을 gzip같은걸로 압축을 쫙해줍니다. 그 다음에 압축을 했으면 예를 들어서 서버에서 뭔가 클라이언트에 보낼 때 압축해서 보내요. 그걸 클라이언트가 받으면 그게 뭘로 압축되어있는지 알아야하잖아요. 자 그래서 Content-Encoding을 통해서 압축에 관한 부가정보를 보내주는겁니다. 그래야 압축을 풀 수 있습니다.
Content-Language(표현 데이터의 자연 언어)
-표현 데이터의 자연 언어를 표현
- 예)
- ko
- en
- en-US
이것은 뭐냐면 표현언어의 자연언어를 표현해주는 부분입니다. 만약 Content-Langauge가 ko이다. 그러면 본문에는 한국어가 들어있구나. 그리고 Content-Langauge가 en이다 이러면 메시지 본문에는 영어가 들어가있겠구나.
Content-Length(표현 데이터의 길이)
- 바이트 단위
- Transfer-Encoding(전송 코딩)을 사용하면 Content-Length를 사용하면 안됨 ->
Transfer-Encoding안에 이미 내용들이 다 들어있기 때문
'HTTP 웹 지식' 카테고리의 다른 글
HTTP 일반 헤더1-일반 헤더(전송 방식) (0) | 2022.01.15 |
---|---|
HTTP 일반 헤더1-일반 헤더(콘텐츠 협상) (0) | 2022.01.15 |
HTTP 일반 헤더1- 일반 헤더(HTTP 헤더 개요) (0) | 2022.01.15 |
HTTP 상태 코드6(5xx - 서버 오류) (0) | 2022.01.11 |
HTTP 상태 코드5(클라이언트 오류) (0) | 2022.01.11 |