10
Header append Vary User-Agent env=!dont-vary

任何人都可以对此进行详细解释吗?

4

2 回答 2

11

这使用 Apache mod_headers将值“User-Agent”附加到 Vary HTTP 标头,但前提是未设置 dont-vary 环境。

但什么是 Vary 标头?请参阅RFC2616,其中说

Vary 字段值表示一组请求头字段,当响应是新鲜的时,它完全确定是否允许缓存使用响应来回复后续请求而无需重新验证

如果您根据 User-Agent 标头提供不同的 HTML 标记,则可以使用带有 User-Agent 的 Vary 标头,以确保缓存代理不会将用于浏览器 X 的内容提供给浏览器 Y。

于 2009-06-09T15:41:09.810 回答
4

请参阅 mod_headers 文档中的Header 指令

这指示 Web 服务器将Vary标头的新值附加到Vary标头的任何先前值(用逗号将新值与旧值分开)或为 Vary 标头创建新。要创建或附加的新值将是user-agent。只有在执行 apache 服务的环境中未定义dont-vary环境变量时,才会创建/附加此标头。

总而言之,如果dont-vary环境变量存在,服务器会发出如下信息:

Vary: ...,user-agent
于 2009-06-09T15:40:47.750 回答