3.6 최적의 콘텐츠를 돌려주는 콘텐츠 네고시에이션

같은 콘텐츠이지만 여러 개의 페이지를 지닌 웹페이지가 있다. 예를 들면 내용은 같지만 영어, 한국어와같이 언어가 다른 페이지이다. 서로 다른 언어를 사용하는 브라우저가 같은 URI에 접근할 때 각각 영어, 한국어 웹페이지를 표시한다. 이 같은 구조를 콘텐츠 네고시에이션(content negotiation)이라고 한다. 클라이언트에 더욱 적합한 리소스를 제공하기 위한 구조이다.

콘텐츠 네고에이션은 제공하는 리소스를 언어, 문자세트, 인코딩방식드을 기준으로 판단한다. 판단 기준은 리퀘스트 메시지에 포함된 리퀘스트 헤더필드이다.

  • Accept

  • Accept-Charset

  • Accept-Encoding

  • Accept-Language

  • Content-Language

종류

  • 서버 구동형 네고시에이션

서버측에서 콘텐츠 네고시에이션을 하는방식이다. 서버측에서 리퀘스트헤더 필드의 정보를 참고해서 자동으로 처리한다. 단지 브라우저가 보내는 정보를 근거로 하기 때문에 유저에게 적절한 것이 선택되었다고 할 수 는없다.

  • 에이전트 구동형 네고시에이션

클라이언트 측에서 콘텐츠 네고시에이션을 하는 방식이다. 브라우저에 표시된 선택지 중에 유저가 수동으로 선택한다. JS 등을 통해 웹페이지에서 자동적으로 정하는 것도 있다. 예를 들면 OS의 종류나 브라우저의 종류등에 의해 PC용과 스마트폰용의 웹페이지를 자동으로 전환하는것이 해당된다.

  • 트랜스페어런트 네고시에이션

서버형과 클라이언트 구동형을 혼합한것이다.

Last updated