首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >“Vary:Accept”HTTP头的功能是什么?

“Vary:Accept”HTTP头的功能是什么?
EN

Stack Overflow用户
提问于 2018-04-17 06:43:09
回答 2查看 0关注 0票数 0

我使用PHP来生成动态网页。如以下教程所述(请参阅下面的链接),当$ _SERVER ['HTTP_ACCEPT']允许时,MIME类型的XHTML文档应该是“application / xhtml + xml”。由于您可以使用2种不同的MIME(“application / xhtml + xml”和“text / html”)提供相同的页面,因此应该将“Vary”HTTP标头设置为“Accept”。这将有助于缓存代理。

现在我不确定:header('Vary:Accept'); 我真的不确定'Vary:Accept'会做什么

我发现的唯一解释是:

在Content-Type头部之后,发送Vary头部(如果我理解正确的话)告诉中间高速缓存,如代理服务器,根据请求文档的客户端的能力,文档的内容类型会有所不同。

EN

回答 2

Stack Overflow用户

发布于 2018-04-17 15:34:08

IE(IE9之前)不会缓存使用Vary头的任何内容,因为请求缓存不包含HTTP请求头。

票数 0
EN

Stack Overflow用户

发布于 2018-04-17 16:39:01

Vary: Accept只是说响应是基于Accept请求中的标题生成的。具有不同Accept标题的请求可能会得到不同的响应。

(可以看到链接的PHP代码查看,$HTTP_ACCEPT这是Accept请求标头的值。)

对于HTTP缓存来说,这意味着必须特别小心缓存响应。它只是对于具有完全相同Accept头的后续请求才有效匹配。

现在这只在页面首先被缓存时才有意义。默认情况下,PHP页面不是。PHP页面可以通过发送某些标题(Expires例如)将输出标记为可缓存。但是是否以及如何去做是一个不同的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档