Apache开启GZIP压缩

作者: 雷雪松的简书 | 来源:发表于2016-12-29 11:51 被阅读106次

    Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台。Gzip在现代浏览器中默认都是支持的,当一个纯文本文件使用Gzip压缩可以减少70%以上的文件大小,压缩后可以大大降低了网络传输的字节数,使用Gzip的好处就是可以加快网页加载的速度,同时是你的网站对搜索引擎更加友好。下面PHP程序员雷雪松详细的讲解下Apache如何使用mod_deflate模块来实现Gzip压缩网页内容进行压缩。

    Apache服务器HTTP请求Gzip处理的过程

    1、Apache服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩(Accept-Encoding 信息)。

    2、如果浏览器支持HTTP压缩,Apache服务器检查请求文件的后缀名。

    a、如果请求文件是HTML、CSS、JS、Images等静态文件,Apache服务器从压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件,如果不存在,返回压缩的请求文件,并在压缩缓冲目录中存放压缩文件,如果已经存在,则直接返回请求文件的压缩文件。

    b、如果请求文件是动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。

    Apache支持GZIP压缩的配置

    1、编辑 http.conf 文件,开启mod_deflate模块

    去掉 #LoadModule headers_module modules/mod_headers.so 前面的注释#

    去掉 #LoadModule deflate_module modules/mod_deflate.so 前面的注释#

    去掉 #LoadModule filter_module modules/mod_filter.so 前面的注释#

    2、配置Gzip压缩相关参数

    #压缩率,6是建议值。

    DeflateCompressionLevel 6

    AddOutputFilterByType DEFLATE text/plain

    AddOutputFilterByType DEFLATE text/html

    AddOutputFilterByType DEFLATE text/php

    AddOutputFilterByType DEFLATE text/xml

    AddOutputFilterByType DEFLATE text/css

    AddOutputFilterByType DEFLATE text/java

    AddOutputFilterByType DEFLATE application/xhtml+xml

    AddOutputFilterByType DEFLATE application/xml

    AddOutputFilterByType DEFLATE application/rss+xml

    AddOutputFilterByType DEFLATE application/atom_xml

    AddOutputFilterByType DEFLATE application/x-java

    AddOutputFilterByType DEFLATE application/x-httpd-php

    AddOutputFilterByType DEFLATE image/svg+xml

    AddOutputFilterByType DEFLATE image/gif image/png image/jpe image/swf image/jpeg image/bmp

    #排除不需要压缩的文件

    BrowserMatch ^Mozilla/4 gzip-only-text/html

    BrowserMatch ^Mozilla/4\.0[678] no-gzip

    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    SetEnvIfNoCase Request_URI .(?:html|htm)$ no-gzip dont-varySetEnvIfNoCase

    SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

    SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary

    3、重启Apache服务器并且使用浏览器请求验证是否Gzip生效。

    PHP程序员雷雪松的独立博客http://www.leixuesong.cn.

    标签:Apache服务器

    来源:Apache开启GZIP压缩

    相关文章

      网友评论

        本文标题:Apache开启GZIP压缩

        本文链接:https://www.haomeiwen.com/subject/znnuvttx.html