Thinking
이 글은 HTTP 완벽가이드 17장을 참고해 정리한 포스팅입니다.
variant
라고 합니다.기법 | 어떻게 동작하는가 | 장점 | 단점 |
---|---|---|---|
클라이언트 주도 | 클라이언트가 요청을 보내면 서버는 클라이언트에게 선택지를 보내주고 클라이언트가 선택 | 서버 입장에서 가장 구현하기 쉽다. 클라이언트는 최선의 선택 가능 | 대기시간 증가, 콘텐츠 얻기 위한 최소 두번의 요청 필요 |
서버 주도 | 서버가 클라이언트의 요청 헤더를 검증해, 어떤 버전을 제공할지 결정 | 클라이언트 주도 협상보다 빠름, q값 메커니즘 제공, vary 헤더 제공 | 헤더에 맞는것이 없으면 서버는 추측을 해야함 |
투명 | 투명한 중간 장치(프락시 웹 캐시)가 서버를 대신하여 협상 | 웹 서버가 협상을 할 필요 없음, 클라이언트 주도 협상보다 빠름 | 정확한 명세가 없음 |
추가 정보
헤더 | 설명 |
---|---|
Accept | 서버가 어떤 미디어 타입으로 보내도 되는지 알려준다. |
Accept-Language | 서버가 어떤 언어로 보내도 되는지 알려준다. |
Accept-Charset | 서버가 어떤 차셋으로 보내도 되는지 알려준다. |
Accept-Encoding | 서버가 어떤 인코딩으로 보내도 되는지 알려준다. |
엔터티 헤더
는 선적 화물에 붙이는 라벨과 비슷하며, 메시지를 서버에서 클라이언트로 전송할 때 필요한 메시지 본문의 속성을 가리키게 됩니다.내용 협상 헤더
들은 클라이언트와 서버가 선호 정보를 서로 교환하고 문서들의 여러 버전 중 하나를 선택하는 것을 도와, 클라이언트의 선호에 가장 잘 맞는 문서를 제공해 주기위한 목적으로 사용됩니다.Accept 관련 헤더 | 엔터티 헤더 |
---|---|
Accept | Content-Type |
Accept-Language | Content-Language |
Accept-Charset | Content-Type |
Accept-Encoding | Content-Encoding |
Accept-Language: en;q=0.5, fr;q=0.0, nl;q=1.0, tr;q=0.0
variant
나 alternate
로 불리게 됩니다.트랜스코딩
이라 부르게 됩니다.