Vary

优质
小牛编辑
127浏览
2023-12-01

VaryHTTP 响应头决定如何满足未来的请求头,以决定一个缓存的响应是否可以使用,而不是请求从源服务器一个新的一个。服务器使用它来指示在内容协商算法中选择资源表示时使用哪个标头。

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