内容协商技术
共有3种不同的方法可以决定服务器上哪个页面最适合客户端:让客户端来选择,服务器自动判定,或中间代理来选。这3种技术分别称为客户端驱动的协商,服务器驱动的协商以及透明的协商。
客户端驱动的协商
从实现原理上来说,服务器实际上有两种方法为客户端提供选项:一是回送一个 HTML 文档,里面有到该页面的各种版本的链接和每个版本的描述信息;另一种方法是发送回 HTTP/1.1 响应时,使用300 Multiple Choices 响应代码。客户端浏览器收到这种响应时,在前一种情况下,会显示一个带有链接的页面,在后一种情况下,可能会弹出对话窗口,让用户去选择。不管怎么样,决定是客户端的浏览器用户做出的。
除了增加时延并且对每个页面都要进行繁琐多次请求之外,这种方法还有一个缺点;它需要多个URL;公共页面需要一个,其他没种特殊页面也都要一个。