HTTP 웹/Http 웹 기본

(13) HTTP - 헤더 개요

코르시카 2021. 7. 2. 00:04

1. HTTP 헤더

1-1) 양식 Form

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

: 앞은 띄워쓰고 뒤는 OWS로 공백 줘도/안줘도 됨

 

> field name은 대소문자 구분이 없음

 

1-2) HTTP 헤더 용도

  • 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

 

※ 엔티티와 메시지

참조 :

https://velog.io/@d-h-k/%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EB%B0%B0%EC%9A%B0%EB%8A%94-Http-Network-3%EC%9E%A5-%EC%A0%95%EB%A6%AC

 

그림으로 배우는 Http Network - 3장 정리

목차HTTP 메시지의 구조는 두가지메시지 Header메시지 Body: 위 두가지가 있고, 헤더와 바디는 CR+LF(캐리지리턴과 라인피드) 사이로 구분되어있다. 그냥 보기에는 빈칸 한줄 들어가있음Request의 메시

velog.io

  • 엔티티
    : HTTP 메시지(리퀘스트 혹은 리스폰스)의 바디에 적재되는 실제 데이터임
    "개념적인 실제의 데이터" 라고 간주하면 편함  ↔  메시지는 "코딩의 영역"
    • 사실 헤더는 어떤의미에서 메타데이터라고 볼수 있고, 실제 데이터는 바디이며 이것이 바로 엔티티! 혹자는 payload(적재화물)이라고도 함
  • 메시지
    : HTTP통신의 기본단위, 옥텟시퀀스(8bit = 1byte)단위로 전송되고 통신으로 전달됨
    • http 메시지 바디의 역할은 엔티티 바디를 운반(전달)하는 일 입니다.
    • 일반적으로 엔티티바디 와 메시지 바디는 동일하지만 가끔 아닌 경우가 있습니다.
      • 전송 인코딩이 적용된 경우!!!

 

(a) RFC2616 (과거 1999년)

> 현재는 폐기되었음

  • HTTP BODY - message body
    - 메세지 본문은 엔티티 본문을 전달하는데 사용
       ( == 코드 기준의 본문은 실제 메세지 본문을 전달하는데 사용)
    - 엔티티 본문은 요청이나 응답에서 전달할 실제 데이터
    - 엔티티 헤더는 엔티티 본문의 데이터를 해석할 수 있는 정보 제공
       헤더 분류 항목중에 하위의 Entity Header를 의미
       - ex) 데이터 유형(html, json), 데이터 길이, 압축 정보 등

 

(b) RFC723x ( 2014년 )

RFC7230 ~ 7235

> 몇가지의 변화

  1. 엔티티( Entity ) → 표현( Representation )
  2. Representation = representation Metadata + Representation Data
    표현 = 표현 메타데이터 + 표현 데이터
  • HTTP BODY - message body
    - 메세지 본문을 통해 표현 데이터 전달 
    - 메세지 본문 = 페이로드
    - "표현" 이란 요청이나 응답에서 전달할 실제 데이터(원본 정보)
      메세지 본문은 "표현"(=표현 데이터 + 메타데이터)를 데이터 형식으로 가지고있고

      html, Json 등으로 구성 
    - "표현 헤더"는 "표현 데이터"를 헤석할 수 있는 정보를 제공
       - 데이터 유형(html, json), 데이터 길이, 압축 정보 등등

 

 


참조

섹션 : HTTP 헤더1 - 일반 헤더

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

반응형