Vary的格式如下:Vary = "Vary" ":" ( "*" | 1#field-name )
要么是“*”,要么是header的key名称组合.
比如:
Vary: Accept-Encoding
Vary: Accept-Encoding,User-Agent
Vary中有User-Agent,那么即使相同的请求,如果用户使用IE打开了一个页面,再用Firefox打开这个页面的时候,代理/客户端会认为这是不同的页面,如果Vary中没有User-Agent,那么代理/客户端缓存会认为是相同的页面,直接给用户返回缓存的内容,而不会再去web服务器请求相应的页面。如果Vary变量比较多,相应的增加了缓存的容量。在做反向代理时,大多时候都会禁用vary头。(个人见解,没做过)
参考文章:
http://mark.koli.ch/2010/09/understanding-the-http-vary-header-and-caching-proxies-squid-etc.html (Understanding the HTTP Vary Header and Caching Proxies (Squid, etc.))
http://www.chedong.com/blog/archives/001429.html(利用Header机制隐掉Vary,提高mod_cache缓存的命中率)