可以鱿鱼2.7代理gzipped内容

我们有一个转发代理我们的networking是Squid 2.7。 这是由第三方为我们pipe理。

我们最近注意到,从我们的networking到networking的http请求被删除了Accept-Encoding标头。 这导致我们networking(大约8000多台PC)上的所有networkingstream量都是未压缩的,尽pipe每端的浏览器和服务器都是有效的。

我们要求第三方研究这个,他们说这是因为Squid 2.7不支持压缩。

我明白这是真实的,但我的印象是,压缩发生在networking服务器而不是代理服务器上。 所以…

  1. 可以鱿鱼2.7代理和/或caching内容gzipped?
  2. 如果可以的话,如何/为什么可以configurationAccept-Encoding标头被删除?

如果用户请求压缩页面,Squid 2.7会caching压缩页面(页面的多个编码)。 但是如果用户请求一个非压缩页面,那么squid会转发请求一个非压缩页面的请求。 然后caching。 如果请求了压缩页面,但是非压缩页面被caching,则非压缩页面由squid提供。 但是,如果先压缩压缩的页面,然后caching未压缩的页面,然后再压缩请求的页面,则压缩的页面将从caching中提供。

我发现鱿鱼会caching一个页面的多个编码,只有当一个非压缩的页面没有先caching或先请求,否则非压缩的页面将被caching,并且由于接受编码是有条件的,没有理由为鱿鱼取得一个压缩页面,因为请求将与非压缩编码页面是好的。

 # TAG: cache_vary # When 'cache_vary' is set to off, response that have a # Vary header will not be stored in the cache. # #Default: cache_vary on 

需要打开cache_vary,以便caching页面的多个编码。