HTTP 전송에 필요한 모든 부가정보 - 메세지 바디 내용, 메세지 바디 크기(길이), 압축, 요청 클라이언트, 서버 정보, 캐시 관리 정보....
표준 헤더가 매우 다양하게 존재
필요시 임의의 헤더 추가가능 - ex) helloworld: hihi
1-3) HTTP 헤더 종류
HTTP 메세지 안의 Header의 종류
> 헤더 분류 - General 헤더 : 메세지 전체에 적용되는 정보 - ex) Connection: close - Request 헤더 : 요청 정보, 요청을 보낼 때 사용 - ex) User-Agent: Mozilla/5.0 (Macintosh; ..) - Response 헤더 : 응답정보, 응답을 보낼 때 사용 - ex) Server : Apache - Entity 헤더 : 엔티티 바디 정보 - ex) Content-Type : text/html, Content-length : 3423
엔티티 : HTTP 메시지(리퀘스트 혹은 리스폰스)의 바디에 적재되는 실제 데이터임 "개념적인 실제의 데이터" 라고 간주하면 편함 ↔ 메시지는 "코딩의 영역"
사실 헤더는 어떤의미에서 메타데이터라고 볼수 있고, 실제 데이터는 바디이며 이것이 바로 엔티티! 혹자는 payload(적재화물)이라고도 함
메시지 : HTTP통신의 기본단위, 옥텟시퀀스(8bit = 1byte)단위로 전송되고 통신으로 전달됨
http 메시지 바디의 역할은 엔티티 바디를 운반(전달)하는 일 입니다.
일반적으로 엔티티바디 와 메시지 바디는 동일하지만 가끔 아닌 경우가 있습니다.
전송 인코딩이 적용된 경우!!!
(a) RFC2616 (과거 1999년)
> 현재는 폐기되었음
HTTP BODY - message body - 메세지 본문은 엔티티 본문을 전달하는데 사용 ( == 코드 기준의 본문은 실제 메세지 본문을 전달하는데 사용) - 엔티티 본문은 요청이나 응답에서 전달할 실제 데이터 - 엔티티 헤더는 엔티티 본문의 데이터를 해석할 수 있는 정보 제공 헤더 분류 항목중에 하위의 Entity Header를 의미 - ex) 데이터 유형(html, json), 데이터 길이, 압축 정보 등
(b) RFC723x ( 2014년 )
RFC7230 ~ 7235
> 몇가지의 변화
엔티티( Entity ) → 표현( Representation )
Representation = representation Metadata + Representation Data 표현 = 표현 메타데이터 + 표현 데이터
HTTP BODY - message body - 메세지 본문을 통해 표현 데이터 전달 - 메세지 본문 = 페이로드 - "표현" 이란 요청이나 응답에서 전달할 실제 데이터(원본 정보) 메세지 본문은 "표현"(=표현 데이터 + 메타데이터)를 데이터 형식으로 가지고있고 html, Json 등으로 구성 - "표현 헤더"는 "표현 데이터"를 헤석할 수 있는 정보를 제공 - 데이터 유형(html, json), 데이터 길이, 압축 정보 등등