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 |