HTTP 헤더

  • header-field = field-name ":" OWS field-value OWS(OWS: 띄어쓰기 허용)
  • field-name은 대소문자 구분이 없다.

예시로 들면 붉은색 글씨가 HTTP 헤더이다.

요청메시지

GET /search?q=hello&hl=ko HTTP/1.1
Host: www.google.com

응답메시지

HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 3423

<html>
  <body>...</body>
</html>

HTTP 헤더의 용도

  • HTTP 전송에 필요한 모든 부가정보
    • 예) 메시지 바디의 내용, 크기, 압축, 인증 등.. 다양하다.
  • 표준 헤더가 너무 많음
  • 필요시 임의의 헤더 추가도 가능하다!

HTTP 헤더 분류

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

HTTP BODY

RFC2616(과거)

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

RFC7230~7235(현재)

  • 엔티티(Entity) -> 표현(Representation)
  • Representation = representataion Metadata + Representataion Data
  • 표현 = 표현 메타데이터+표현 데이터를 뜻한다.
  • 메시지 본문(message body)을 통해 표현 데이터를 전달한다.
  • 메시지 본문 = 페이로드(Payload)
  • 표현은 요청이나 응답에서 전달할 실제 데이터를 뜻한다.
  • 표현 헤더는 표현 데이터를 해석할 수 있는 정보 제공
    • 데이터 유형(html, json), 데이터 길이, 압축정보 등등
  • 참고 : 표현 헤더는 표현 메타데이터와 페이로드 메시지를 구분해야 하지만, 여기서는 생략한다.

다음엔 표현이라는 개념에 대해 정리해보겠다!
6월 10일.. sqld 시험이 딱 10일 남아서 조금씩 꾸준히 해보도록 하겠다..

출처 : 모든 개발자를 위한 HTTP 웹 기본 지식(김영한 강사님 인프런 강의)

profile
비전공자 개발초보입니다!

0개의 댓글