HTTP 헤더 용도
- HTTP 전송에 필요한 모든 부가정보
- 필요시 임의의 헤더 추가 가능
RFC723X 변화
- 엔티티 → 표현
- 표현 = 표현 메타데이터 + 표현 데이터
HTTP BODY
표현
-
Content-Type : 표현 데이터의 형식
- 미디어 타입, 문자 인코딩
- text/html; charset=utf-8
- application/json
-
Content-Encoding : 표현 데이터의 압축 방식
- 표현 데이터를 압축하기 위해 사용
- 데이터를 전달하는 곳에서 압축 후 인코딩 헤더 추가
- 데이털르 읽는 쪽에서 인코딩 헤더의 정보로 압축 해제
-
Content-Language : 표현 데이터의 자연 언어
-
Content-Length : 표현 데이터의 길이
- 바이트 단위
- Transfer-Encoding(전송 코딩)을 사용하면 Content-Length를 사용하면 안됨
-
표현 헤더는 전송, 응답 둘다 사용
협상(Content Negotation)
클라이언트가 원하는 표현으로 서버에게 요청하는 것
- 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;q=0.7
협상과 우선순위2
- 구체적인 것이 우선한다.
- 길수록 우선한다.
협상과 우선순위3
- 구체적인 것을 기준으로 미디어 타입을 맞춘다.