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
- e.g.
- Request header : 요청 정보
- e.g.
User-Agent: Mozila/5.0 (macintosh; ..)
- e.g.
- Response header : 응답 정보
- e.g.
Server: Apache
- e.g.
- Entity header : 엔티티 바디 정보
- e.g.
Content-Type: text/html, Content-Length: 3423
- e.g.
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 |