본문 바로가기
http

[HTTP]#8 HTTP 헤더 - 일반 헤더

by 쁘띠뀨띠 2023. 12. 7.

HTTP표준 2014 RFC7230~7235 등장

엔티티 → 표현 // 표현 = 표현 메타데이터 + 표현 데이터

 

1_HTTP Header

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

     *field-name은 대소문자 구분 없음

 

표현 헤더 : Content-Type: text/html;charset=UTF-8 Content-Length: 3423

     Content-Type : 표현 데이터의 형식, 미디어 타입, 문자 인코딩 (예: text/html, application/json, image/png)

     Content-Encoding : 표현 데이터의 압축 방식 (예: gzip, deflate, identity)

     Content-Language : 표현 데이터의 자연 언어 (예: ko, en, en-US)

     Content-Length : 표현 데이터의 길이, 바이트 단위, Transfer-Encoding (전송 코딩) 사용시 사용 불가

 

HTTP Body

표현 데이터 : <html>~</html> (메시지 본문)

- 메시지 본문을 통해 표현 데이터 전달

- 메시지 본문 = 페이로드

- 표현은 요청이나 응답에서 전달할 실제 데이터

- 표현 헤던는 표현 데이터를 해석할 수 있는 정보 제공


협상(콘텐츠 네고시에이션) : 클라이언트가 선호하는 표현 요청

 

- Accept : 클라이언트가 선호하는 미디어 타입 전달

- Accept-Charset : 클라이언트가 선호하는 문자 인코딩

- Accept-Encoding : 클라이언트가 선호하는 압축 인코딩

- Accept-Language : 클라이언트가 선호하는 자연 언어 

 

*협상 헤더는 요청시에만 사용

 

우선순위1

Quality Values(q)값 사용, 0~1 클수록 높은 우선순위, 생략하면 1

     예: Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en=0.7

          1.ko-KR;q=1 (q 생략)

          2.ko;q=0.9

          3.en-US;q=0.8

          4.en;q=0.7

 

우선순위2

구체적인 것이 우선한다.

     예: Accept: text/*, text/plain, text/plain;format=flowed, */*

          1.text-plain;format=flowed

          2.text/plain

          3.text/*

          4.*/* 

 

우선순위3

구체적인 것을 기준으로 미디어 타입을 맞춘다.

'http' 카테고리의 다른 글

[HTTP]#10 쿠키  (1) 2023.12.07
[HTTP]#9 HTTP 헤더 - 전송 방식, 일반 정보, 특별 정보  (2) 2023.12.07
[HTTP]#7 HTTP 상태 코드  (0) 2023.12.07
[HTTP]#6 HTTP API 설계 예시  (1) 2023.12.06
[HTTP]#5 HTTP 메소드 활용  (1) 2023.12.06