Home HTTP 헤더 개요
Post
Cancel

HTTP 헤더 개요

HTTP 헤더

HTTP 헤더는 클라이언트와 서버가 요청 또는 응답으로 부가적인 정보를 전송할 수 있도록 해준다.

HTTP 헤더는 대소문자를 구분하지 않는 이름과 콜론 ':' 다음에 오는 값(줄 바꿈 없이)으로 이루어져 있다.

  • header-field = field-name: OWS field-value OWS (OWS: 띄어쓰기 허용)

표현

2014년 RFC7230 ~ 7235 등장하며 기존 RFC2616 폐기되고 RFC2616의 엔티티(Entity)가 표현(Representation)으로 대체되었다.

  • 표현(Representation) = 표현 메타데이터(Representation Metadata) + 표현 데이터(Representation Data)

  • Content-Type: 표현 데이터의 형식
  • Content-Encoding: 표현 데이터의 압축 방식
  • Content-Language: 표현 데이터의 자연 언어
  • Content-Length: 표현 데이터의 길이

Content-Type - 표현 데이터의 형식

Content-Type 개체 헤더는 리소스의 Media Type을 나타내기 위해 사용된다.

  • 예)
    • text/html; charset=utf-8
    • application/json
    • image/png

Content-Encoding - 표현 데이터의 압축 방식

Content-Encoding 개체 해더는 미디어 타입을 압축하기 위해 사용된다. 이 헤더가 존재하면, 그 값은 개체 본문에 어떤 추가적인 컨텐츠 인코딩이 적용될지를 나타낸다.

  • 데이터를 전달하는 곳에서 압축 후 인코딩 헤더 추가
  • 데이터를 읽는 쪽에서 인코딩 헤더의 정보로 압축 해제
  • 예)
    • gzip
    • deflate
    • identity

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

Content-Language 개체 해더는 표현 데이터의 자연 언어를 표현한다.

  • 예)
    • ko
    • en
    • en-US

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

Content-Length 개체 해더는 수신자에게 보내지는, 바이트 단위를 가지는 개체 본문의 크기를 나타낸다.

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

참고

This post is licensed under CC BY 4.0 by the author.

HTTP 상태코드

컨텐츠 협상(Content negotiation)

Comments powered by Disqus.