
457
17
장 내용 협상과 트랜스코딩
The Definitive Guide
17
장
HTTP: The Definitive Guide
내용 협상과 트랜스코딩
종종 하나의 URL이 여러 리소스에 대응할 필요가 있는 경우가 있다. 콘텐츠를 여
러 언어로 제공하려고 하는 웹 사이트의 예를 들어보자. 만약 ‘죠의 하드웨어’ 같은
사이트가 프랑스어 사용자 고객과 영어 사용자 고객을 동시에 갖고 있다면, 웹 사
이트를 두 언어별로 모두 제공해주고 싶을 것이다. 그런데 이 경우 죠의 고객 중 한
명이 “http://wwww.joes-hardwware.com”을 요청했을 때 서버는 어떤 버전을 제
공해 주어야 하는가
?
프랑스어인가, 영어인가
?
이상적으로 동작한다면, 서버는 영어 사용자에게는 영어 버전을 보내주고 프랑
스어 사용자에게는 프랑스어 버전을 보내줄 것이다. 사용자는 죠의 하드웨어 홈페
이지에 가서 그가 할 줄 아는 언어로 된 콘텐츠를 얻을 것이다. 다행히도, HTTP는
클라이언트와 서버가 이러한 판단을 할 수 있도록 내용 협상(content-negotiation)
방법을 제공한다. 이 방법을 이용해서 하나의 URL이 여러 가지 리소스 중 적합한
것에 대응되도록 할 수 있다(예: 같은 웹페이지의 프랑스어와 영어 버전). 여기서는
서로 다른 버전을 배리언트(variant