HTTP헤더를 이용한 콘텐츠 협상을 알아보자

초짜의 개발 공부·2021년 11월 30일
0

HTTP

목록 보기
8/11

콘텐츠 협상(Content negotiation) 🤔


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

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

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

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

이러한 협상 헤더들은 요청시에만 사용한다.


Accept-Language를 적용시켜 응답 언어를 설정할 수 있다. 하지만 서버에서 지원하는 언어가 내가 응답을 원하는 언어랑 다를시에는 우선순위를 요청할 수 있다.


우선순위 요청시

  • 0부터 1까지의 범위에서, 숫자가 클수록 높은 우선순위이다.

  • 생략을 원하면 1로 지정하면 된다.


예시)

GET/ event
Accept-Language:ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7


ko-KR은 1이 생략된 상태이고, 순서대로 우선순위를 지정해서 요청한다.

만약 이러한 상황에서 서버에서 한국어를 지원하지 않으면 그 다음 우선순위인 영어로 응답이 온다.

0개의 댓글