Home 컨텐츠 협상(Content negotiation)
Post
Cancel

컨텐츠 협상(Content negotiation)

컨텐츠 협상(Content negotiation)

컨텐츠 협상이란 클라이언트가 URI로 특정 리소스를 요청할 때 서버가 클라이언트에게 가장 적절한 프로젠테이션을 제공할 수 있도록 정보를 명시하는 것을 말한다. (예를들어, 언어나 이미지 포맷 혹은 컨텐츠 인코딩)

서버 주도 컨텐츠 협상

서버 주도 컨텐츠 협상은 브라우저가 서버에 HTTP 헤더를 전송하고 이를 통해 컨텐츠를 선택하는 것을 말한다.

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

협상과 우선순위

HTTP 헤더가 제시하는 속성이 여러 개일 경우 인자 가중치(q: Quality value)를 함께 전달 할 수 있다. 그리고 이 인자 가중치를 활용하여 우선순위를 판별한다.

  • 0 ~ 1의 값을 가지고 클수록 우선순위가 높음
  • 값이 생략되면 1을 가짐
  • 예)
    • Accept-Language: ko-KR,ko;q=0.9,en-US;q-0.8,en;q=0.7
      1. ko-KR; (값이 생략되어 q=1로 우선순위가 가장 높음)
      2. ko;q=0.9
      3. en-US;q=0.8
      4. en;q=0.7

참고

This post is licensed under CC BY 4.0 by the author.

HTTP 헤더 개요

쿠키

Comments powered by Disqus.