반응형

표현 (Representation)

이번시간에는 표현과 관련된 헤더들에 대해서 알아보자.

서버에 있는 회원 리소스를 클라이언트에게

"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

 

Content-Language는,
표현 데이터의 자연 언어

  • 표현 데이터의 자연 언어를 표현
  • 예)
    • ko
    • en
    • en-US

 

Content-Length는,
표현 데이터의 길이

  • 바이트 단위
  • Transfer-Encoding(전송 코딩)을 사용하면 Content-Length를 사용하면 안됨

 

 

반응형