AddOutputFilterByType DEFLATE text/css
zlib.output_compression_level = -1
strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE)
复制代码 代码如下:
利用Apache中的Gzip模块,我们可以使用Gzip压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端浏览器。这样经过压缩后实际上降低了网络传输的字节数(节约传输的网络I/o),最明显的好处就是可以加快网页加载的速度。 DeflateCompressionLevel 6 #压缩率, 6是建议值.
Accept-Encoding: deflate 支持mod_deflate
Accept-Encoding: gzip,deflate 同时支持mod_gzip 和mod_deflate
服务器不支持mod_gzip、mod_deflate模块,若想通过GZIP压缩网页内容,可以考虑两种方式,开启zlib.output_compression或者通过ob_gzhandler编码的方式。通过在PHP文件中插入相关代码实现GZIP压缩P压缩:
将#LoadModule deflate_module modules/mod_deflate.so去除开头的#号
1)不管使用mod_gzip 还是mod_deflate,此处返回的信息都一样。因为它们都是实现的gzip压缩方式。 ; compression. If you prefer a larger chunk size for better
虽然使用Gzip同时也需要客户端浏览器的支持,不过不用担心,目前大部分浏览器都已经支持Gzip了,如IE、Mozilla Firefox、Opera、Chrome等。 # mod_gzip:
另外,从Apache 2.0.45开始,mod_deflate 可使用DeflateCompressionLevel 指令来设置压缩级别。该指令的值可为1(压缩速度最快,最低的压缩质量)至9(最慢的压缩速度,压缩率最高)之间的整数,其默认值为6(压缩速度和压缩质 量较为平衡的值)。这个简单的变化更是使得mod_deflate 可以轻松媲美mod_gzip 的压缩。 //待压缩的内容
5. 如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件; ; Transparent output compression using the zlib library
mod_gzip_on Yes
if ( !headers_sent() AND isset($_SERVER['HTTP_ACCEPT_ENCODING']) &&
下面是两个演示图: AddOutputFilterByType DEFLATE application/x-httpd-php
//页面没有输出且浏览器可以接受GZIP的页面
Content-Encoding: gzip
firebug查看: zlib.output_compression_level = 6
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
; performance, enable output_buffering in addition.
echo $context;
zlib.output_compression = Off
6. 如果请求文件是动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。三、启用apache的gzip功能
Apache上利用Gzip压缩算法进行压缩的模块有两种:mod_gzip 和mod_deflate。要使用Gzip Web压缩,请首先确定你的服务器开启了对这两个组件之一的支持。
如果服务器开启了对Gzip组件的支持,那么我们就可以在http.conf或.htaccess里面进行定制,下面是一个.htaccess配置的简单实例: }
ob_start('ob_gzhandler');
二、Web服务器处理HTTP压缩的过程如下:
1. Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩(Accept-Encoding 信息); ; Valid values for this option are 'off', 'on', or a specific buffer size
复制代码 代码如下: