使用mod_deflate过滤掉没有GZIP支持的浏览器

时间:2014-01-20 17:19:44

标签: apache .htaccess apache2 gzip mod-deflate

我正在使用mod_defalte,因为:

<IfModule mod_deflate.c> 
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
</IfModule>

我很想知道,但找不到答案:上述是否意味着所有符合这些规则的内容都会被压缩到任何请求?或者,当HTTP请求声明它可以接受gzip时,mod_defalte是否会压缩?

此外,我正在阅读一些帖子,其中人们禁用某些浏览器的gzip实现中存在错误。但对此没有任何解释。有没有人有一套确定的规则。或者不需要它?

1 个答案:

答案 0 :(得分:2)

mod_deflate能够使用gzip编码进行压缩。

有时模块跳过某些文件,因为它们太小或被认为没有显着的增益。

请求标头告诉服务器是否要压缩。

大多数错误都与客户端上的代理服务器有关,其中缓存了gzip压缩内容,因为接受编码的浏览器首先请求资源,但同一缓存后面的其他浏览器则不能。这是使用Vary标头的原因。