본문 바로가기
IT 공부/새로운 시작

HTTP(13) - HTTP 헤더(1)

by 수박한암살자 2021. 11. 10.

HTTP 헤더

HTTP 헤더도 많이 들어본 단어이다. 그렇다면 막연하게 쓰기만 하는 이 헤더라는 녀석은 무엇일까.

헤더의 용도는 HTTP의 전송에 필요한 모든 부가 정보를 담는 것이라고 생각하면 된다.

 

형식은 아래와 같으며 대소문자의 구분은 없다.

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

그동안 몰랐던 헤더의 분류에 대해서도 조금 알게 됐다.

옛날 과거의 RFC2626 분류 시절 헤더의 종류는 아래와 같다.

  • General 헤더 : 메시지 전체에 적용되는 정보
  • Request 헤더 : 요청 정보
  • Response 헤더 :  응답 정보
  • Entity 헤더 : 엔티티 바디 정보 - 엔티티 본문의 데이터를 해석할 수 있는 정보 제공
    • ex : 데이터 유형(HTML, json...), 데이터 길이, 압축 정보 등

1999년에 RFC2616은 폐기가 되었고, 2014년에 RFC7230~7235가 등장했다.

 

RFC723X 의 변화는 아래와 같다.

  • 엔티티(Entity) -> 표현(Representation)으로 교체
  • Representation = representation Metadata + Representation Data

현재 RFC7230의 헤더를 좀 더 살펴보자.

HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 3423
(표현 헤더 부분)


<html>
  <body>...</body> 
</html>
(표현 데이터 부분)
  • 메시지 본문을 통해 표현 데이터를 전달함
  • 메시지 본문 = payload
  • 표현은 요청이나 응답에서 전달할 실제 데이터를 뜻한다.
  • 표현 헤더는 표현 데이터를 해석할 수 있는 정보를 제공한다.
    • 데이터 유형(html, json), 데이터 길이, 압축 정보 등등
  • 원래 표현 헤더는 표현 메타 데이터와 페이로드 메시지를 구분해야하지만 여기서는 생략함

참고 : 왜 표현이라고 단어를 변경하게 되었는가?

-> 회원 정보가 json일수도, html일수도 있다. 즉, 데이터(회원정보)가 표현(html, json 등)이 될지가 중심!

반응형

댓글