Vary
Vary
HTTP 响应头决定如何满足未来的请求头,以决定一个缓存的响应是否可以使用,而不是请求从源服务器一个新的一个。服务器使用它来指示在内容协商算法中选择资源表示时使用哪个标头。
Vary
头应该在设置304
Not Modified
完全一样会被设定在相当的反应200
OK
响应。
Header type | Response header |
---|---|
Forbidden header name | no |
句法
Vary: *Vary: <header-name>, <header-name>, ...
指令
*每个 URL 的请求应该被视为一个独一无二且不可缓存的请求。指出这一点的更好方法是使用Cache-Control: private
,它更清晰地阅读,并且表示该对象不应该被永久存储。<header-name> 在决定是否需要时考虑的逗号分隔的标题名列表可以使用缓存的响应。
例子
动态服务
使用Vary: User-Agent
标题时,缓存服务器在决定是否从缓存中提供页面时应考虑用户代理。例如,如果您向移动用户提供不同的内容,它可以帮助您避免缓存可能错误地将您的网站的桌面版本提供给移动用户。它可以帮助谷歌和其他搜索引擎发现一个页面的移动版本,并可能告诉他们不需要隐藏。
Vary: User-Agent
产品规格
Specification | Title |
---|---|
RFC 7231, section 7.1.4: Vary | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
浏览器兼容性
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
兼容性说明
- 小心变化 - IE6-9 中的变化头问题另请参阅
Cache-Control
User-Agent