twocowsong

[모든 개발자를 위한 HTTP 웹 기본 지식 - 24] 본문

IT/HTTP

[모든 개발자를 위한 HTTP 웹 기본 지식 - 24]

WsCode 2022. 1. 29. 20:05

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

클라이언트가 요청시에 선호하는 표현 요청을 지정하여 서버가 클라이언트에게 지정된 표현 요청으로 데이터를 전달합니다.

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

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

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

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

 

한국으로 브라우저로 다중언어 지원하는 사이트를 접속시 사이트의 기본언어인 영어로 해당화면을 응답합니다.

 

Accept언어를 지정하여 요청하게되면 서버에서 요청한 언어가 지원되는 대상일경우 요청한 언어로 응답하게된다.

 

Accept언어가 한국어여도 서버에서 1순위가 독일어 2순위가 영어일경우 1순위인 독일어로 응답받게된다. 이때 우선순위가 지정되어있으면 영어로 받을수있게 할수있다.

 

협상과 우선순위1

0 ~ 1, 클수록 높은 우선순위 이며 생략하면 1입니다. 높은 값대로 순위를 주면

1. ko-KR; q=1 , 2. ko;q=0.9  , 3. en-US;q=0.8 , 4. en:q=0.7

우선순위가 있는경우 위와같은상황에서도 클라이언트의 우선순위가 먼저 적용되여 서버의 1순위인 독일어보다 2순위인 영어로 서버에서 클라이언트에게 응답해줍니다.

 

협상과 우선순위2

구체적인게 우선순위를 가집니다. 

1. text/plain;format=flowed

2. text/plain

3. text/*

4. */*