首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vary: Accept-Encoding响应头

Vary: Accept-Encoding响应头
EN

Stack Overflow用户
提问于 2018-06-07 05:31:55
回答 1查看 451关注 0票数 0

我正在尝试理解响应头"Vary: Accept-Encoding“。

我注意到在我们的应用程序的开发人员工具中的一些图像出现了响应头"Vary: Accept-Encoding“,但有些图像没有这个响应头。

当我试图在浏览器中点击相同的图像url时,看不到标题"Vary: Accept-Encoding“。

为什么这个标题只出现在我们的应用程序中选定的图像中?可能的可能性是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-06-10 06:07:04

Tomcat或应用程序都可能返回此标头。如果Tomcat正在应用例如gzip编码,那么使用Vary: Accept-Encoding响应是必不可少的,因为如果客户端没有指定它支持gzip,那么源服务器(web服务器)、代理等必须使用不同类型的数据来响应。

如果客户端请求/myapp/something并通告它只愿意接受编码为gzip的响应,那么/myapp/something实际上应该只返回identitygzip编码的响应,或者用412响应进行回复。

Vary头实际上是用于代理的。它告诉代理,如果另一端的客户端在其请求报头中具有不同的Accept-Encoding值,则它们可能会得到不同的响应。因此,如果两个客户机请求相同的资源,但其中一个说Accept-Encoding: identity,gzip,另一个说Accept-Encoding: identity,compress,他们(很可能)会得到两个响应,代理应该知道,重要的不仅仅是URL,还有客户端的Accept-Encoding,它应该管理代理可能想要提供的任何缓存。

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

https://stackoverflow.com/questions/50729915

复制
相关文章

相似问题

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