CS/Network

HTTP Header 개요

oxdjww 2023. 10. 4. 17:24
728x90
반응형

Intro

본 포스팅에서는 HTTP header의 개요에 대해 다룬다.

HTTP Header란

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

위와 같은 형식으로 구성되어 있으며, field-name에는 대소문자 구분을 하지 않는다.

HTTP Header의 용도

  • HTTP 전송에 필요한 모든 부가정보 (start-line에서 명시된 정보를 제외하고)
    • 메시지 바디의 내용, 메시지 바디의 크기, 압축 타입, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 ...
  • 표준 헤더는 엄청 많다.
  • 필요시 임의의 헤더를 추가할 수 있다.

HTTP Header의 역사

RFC2616(과거)


RFC2616 헤더의 분류


RFC2616 체계에서 헤더의 분류는 다음과 같다.

  • General header : 메시지 전체에 적용되는 정보
    • e.g. Connection: close
  • Request header : 요청 정보
    • e.g. User-Agent: Mozila/5.0 (macintosh; ..)
  • Response header : 응답 정보
    • e.g. Server: Apache
  • Entity header : 엔티티 바디 정보
    • e.g. Content-Type: text/html, Content-Length: 3423

RFC2616 메시지 바디


RFC2616 체계에서 메시지 바디란 다음과 같다.

  • 메시지 본문(message body)은 엔티티 본문(entity body)을 전달하는 데 사용된다.
  • 엔티티 본문은 요청이나 응답에서 전달할 실제 데이터를 의미한다.
  • 엔티티 헤더는 엔티티 본문의 데이터를 해석할 수 있는 정보를 제공한다.
    • 데이터 유형(html, json), 데이터 길이, 압축 정보 등등

하지만 RFC2616는 폐기되고, 2014년 RFC7230~7235가 등장했다.

RFC723x


다음과 같은 변화가 있다.

  • 엔티티(Entity) -> 표현(Representation)
  • Representation = Representation Metadata + Representation Data
  • 즉, 표현 = 표현 메타데이터 + 표현 데이터

메시지 바디 (RFC7230최신버전)


  • 메시지 본문을 통해 표현 데이터를 전달한다.
  • 메시지 본문이란 페이로드(payload)를 의미한다.
  • 표현은 요청이나 응답에서 전달할 실제 데이터를 의미한다. (표현 = 표현 메타데이터 + 표현 데이터)
  • 표현 헤더표현 데이터를 해석할 수 있는 정보를 제공한다.
    • 데이터의 유형(html, json), 데이터 길이, 압축 정보 등등
  • 표현 헤더는 표현 메타 데이터와 페이로드 메시지로 구분되기도 한다.


감사합니다.

Ref

모든 개발자를 위한 HTTP 웹 기본 지식, 인프런 김영한 강사님

728x90
반응형

'CS > Network' 카테고리의 다른 글

HTTP 전송 방식  (0) 2023.10.04
표현(Representation)과 협상(Negotiation)  (0) 2023.10.04
HTTP Status Code  (0) 2023.10.03
HTTP 메서드와 활용  (0) 2023.10.03
HTTP의 기본  (0) 2023.10.03