하나의 URL이 여러 리소스에 대응할 필요가 있을 때, 각 사용자에 맞는 버전(베리언트)을 제공하는 방법
서버에 있는 페이지들 중 어떤 것이 클라이언트에게 맞는지를 판단하는 방법이다.
클라이언트 주도 협상, 서버 주도 협상, 투명한 협상이 있음
서버가 클라이언트의 요청을 받았을 때 가능한 페이지의 목록을 응답으로 돌려주어 클라이언트가 보고 싶은 것을 선택하게 하는 방법
서버 입장에서 가장 구현하기 쉽지만, 다음의 단점이 있음
클라이언트와 서버 사이의 추가 커뮤니케이션을 줄일 수 있는 방법.
클라이언트는 자신이 무엇을 선호하는지에 대한 충분한 정보를 서버에게 주고, 서버는 클라이언트의 요청 헤더에서 이 정보를 얻어서 알맞는 페이지를 제공한다.
주로 다음 두 가지 메커니즘을 사용함
클라이언트의 내용 협상 헤더들로는 다음과 같은 것들이 있음