표현

리소스(데이터)를 어떤 표현으로 전달할지를 의미한다.

즉, 서버와 클라이언트가 주고받는 전송 형태를 말한다.

json으로, xml으로 표현한다.

Content-Type  표현 데이터의 형식
Content-Encoding 표현 데이터의 압축 방식
Content-Language  표현 데이터의 자연언어
Content-Length 표현 데이터의 길이

 

표현 헤더는 reqeust, response 둘 다 사용

 

Ex)

HTTP/1.1 200 OK

Content-Type : application/json

Content-Length : 16



{“data”:”hello”}

 

Content-Encoding

     - gzip등으로 압축했을 때 클라리언트에서 압축방식을 알아야 하기에 표현을 전달할 때 사용한다.

 

Content-Length

     - ko,en등 한국어, 영어 표현

 

Content-Language

     - byte단위로 표현의 길이를 나타낸다.

 


협상(콘텐츠 네고시에이션)

클라이언트가 선호하는 표현 요청

 

Accept 클라이언트가 선호하는 미디어 타입 전달
Accept-CharSet 클라이언트가 선호하는 문자 인코딩
Accept-Encoding 클라이언트가 선호하는 압축 인코딩
Accept-Language 클라이언트가 선호하는 자연 언어 

협상헤더는 reqeust에서만 사용한다.

 

예를 다중언어를 지원하는 서버에서 기본이 영어일 때 한국어를 요청할 때 사용한다.

 

 

협상과 우선순위1

Quality values

우선순위를 설정해서 서버에 요청한다

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

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

2.ko;q=0.9

3.en-US;q=0.8

 

식으로 숫자가 큰 순으로 우선순위를 정해 요청한다.

 

협상과 우선순위 2

Quality values(q)

구체적인 것이 우선한다.

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

 

협상과 우선순위 3

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

 

+ Recent posts