apache中的这种配置意味着什么?

时间:2009-06-09 15:29:16

标签: apache http http-headers vary

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

有人能详细解释一下吗?

2 个答案:

答案 0 :(得分:11)

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

但是Vary头是什么?请参阅RFC2616,其中包含

  

Vary字段值表示该集合   完全的请求标头字段   确定,而响应是   新鲜的,是否允许缓存   使用响应来回复   后续请求没有   再验证

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

答案 1 :(得分:4)

请参阅mod_headers文档中的Header directive

这会指示网络服务器追加 Vary 标头的新值到 Vary 标头的任何先前值(将新值分开用逗号表示旧值的值或为 Vary 标题创建新值。要创建或附加的新值将是用户代理。如果在执行的apache服务的环境中未定义 dont-vary 环境变量,则只会创建/附加此标头。

总而言之,如果不变环境变量不存在,服务器将发出如下内容:

Vary: ...,user-agent