HTTP 웹 지식

HTTP 일반 헤더1-일반 헤더(표현 헤더)

귀요미찰쓰 2022. 1. 15. 12:44
728x90
반응형

표현 헤더

 

 

 

 

 

 

 

- 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안에 이미 내용들이 다 들어있기 때문

 

반응형

 

 

 

 

 

반응형