【发布时间】:2010-12-30 19:57:09
【问题描述】:
我使用 PHP 来生成动态网页。如以下教程所述(参见下面的链接),当 $_SERVER['HTTP_ACCEPT'] 允许时,XHTML 文档的 MIME 类型应为“application/xhtml+xml”。由于您可以使用 2 个不同的 MIME(“application/xhtml+xml”和“text/html”)为同一页面提供服务,因此您应该将“Vary”HTTP 标头设置为“Accept”。这将有助于代理上的缓存。
链接: http://keystonewebsites.com/articles/mime_type.php
现在我不确定以下内容的含义: header('变化:接受'); 我不太确定 'Vary: Accept' 究竟会做什么......
我找到的唯一解释是:
在 Content-Type 标头之后,一个 Vary 标头发送到(如果我理解的话 正确)告诉中间缓存, 像代理服务器一样,内容 文件类型因文件而异 关于客户的能力 请求文件。 http://www.456bereastreet.com/archive/200408/content_negotiation/
任何人都可以给我这个标题的“真实”解释(具有该值)。我想我理解以下内容: 变化:接受编码 代理上的缓存可以基于所服务页面的编码,但我不明白: 变化:接受
【问题讨论】:
-
坦率地说 - 不要打扰。撇开该站点上的实现缺陷不谈,您唯一能从使用 XML 内容类型服务中获益的时候是当您执行 text/html 中无法完成的事情时 - 如果您正在做的所有事情正在切换 Doctype 和 xmlns,那么您将不会做这些事情。坚持文本/html。就此而言,您不妨坚持使用 HTML 4.01。
-
是的,我理解这一点,我认为像这样的“问题”在 Web 开发中经常出现。感谢规范/RFC中的“应该”!
-
在考虑使用 VARY 之前,您可能应该阅读以下内容:blogs.msdn.com/ieinternals/archive/2009/06/17/…。
-
This video 对
Vary:标头有很好的解释。