如何使用SetOutputFilter DEFLATE压缩html页面

时间:2014-10-13 20:53:08

标签: .htaccess mod-deflate

我无法在浏览器中获取压缩的html页面,即使我100%确定我的服务器上已激活mod_deflate。

我的htaccess文件包含以下代码段:

<IfModule mod_deflate.c>
   <Files *.html>
   SetOutputFilter DEFLATE
   </Files>
</IfModule>

我内容的非压缩摘录是:

<div>
   <div>
   Content
   </div>
</div>

使用我正在使用的htaccess代码,我希望在我的浏览器中获得下面的输出(没有空格,并且在每行的开头没有标签):

<div>
<div>
Content
</div>
</div>

我在htaccess文件中使用的代码有问题吗?

在压缩mod_deflate的正常行为后,是否将所有标签保留在每个html行的前面? 如果是这样,你会建议我在我的html代码中用空格切换标签以获得所需的效果吗?

感谢您对此的见解

1 个答案:

答案 0 :(得分:3)

用于压缩内容的Deflate输出过滤器

  1. 您的内容应至少为120个字节;压缩较小的字节会增加输出大小。

  2. 发出请求的http客户端应支持gzip / deflate编码。

  3. 大多数现代Web浏览器都支持gzip编码并自动为您解压缩gziped内容。因此,您使用Web浏览器的查看页面源选项所看到的不是压缩内容。要验证您的浏览器是否收到压缩内容,请点击F12键,选择网络选项卡和您请求的页面。如果响应标头为Content-Encoding: gzip,则可以确保压缩有效。

    在Firefox中,您可以转到about:config并清空network.http.accept-encoding的值,从而删除对gzip的支持,收缩。现在不支持gzip,Firefox将从您的Apache服务器接收未压缩的内容。

    或者,如果您想查看压缩内容,可以使用不会自动为您解压缩内容的客户端(除非您使用--compressed选项)。

    您可以使用curl

    curl -H "Accept-Encoding: gzip,deflate" http://example.com/page.html > page.gz