Gzip百科知识
Gzip
【AD】:
出自站长百科
跳转到: 导航, 搜索
目录
[隐藏]
1 什么是gzip
2 http传输 gzip的压缩效果
3 如何启用gzip
3.1 apache 2中启用Gzip
3.2 Apache 1中启用Gzip
3.3 Apache 1中给html css文件启用gzip
 
什么是gzip
gzip就是 GUN zip,由 Jean-loup Gailly 和 Mark Adler 创建,用于 UNIX/ Linux 系统的文件压缩。我们在 Linux 中经常会用到后缀为.gz 的文件,它们就是 gzip 格式的。现今已经成为 Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP 协议上的 gzip 编码是一种用来改进 Web 应用程序性能的技术。大流量的 Web 站点常常使用gzip 压缩技术来让用户感受更快的速度。

http传输 gzip的压缩效果
经过测试,基本可以压缩70%以上,甚至80%

在这里可以测试是否启用gzip以及压缩效率:网页gzip压缩检测

 


如何启用gzip
apache 2中启用Gzip
服务器使用的是 Apache 2,服务器是采用 mod_deflate 模块来实现 gzip。

其实我们在 httpd.conf或.htaccess 中加入以下代码可以压缩 HTML, PHP, JS, CSS, XML 后缀的文件。

<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript
</ifmodule>

Apache 1中启用Gzip
如果服务器 Apache 版本不是 2.0 而是 1.3,就可以使用 ob_gzhandler 函数进行压缩(需要 PHP 含有 zlib 库,一般有)。如果你的程序已经内置了对gzip的支持(例如Discuz),只需要在后台启用Gzip即可。如果你的程序不支持,可以在php.ini中加入下面的语句启用对php文件的压缩:

output_buffering = Off
output_handler =
zlib.output_compression = On

如果php文件不多,也可以在php文件中加入如下语句启用gzip

在文件的首行加入

<?php
If(Extension_Loaded(’zlib’)){
Ob_Start(’ob_gzhandler’);
}
?>

最后在文件的末行加入

<?php If(Extension_Loaded(’zlib’)) { Ob_End_Flush(); } ?>

Apache 1中给html css文件启用gzip
有三种方法:

让apache将html文件当作php文件处理即可。
在.htaccess文件中加入下面的语句即可:

AddHandler x-httpd-php .html .htm

如果要压缩CSS,在语句中加入即可。

将静态页面的后缀修改为php,并且在文件中加入:
在文件的首行加入

<?php
If(Extension_Loaded(’zlib’)){
Ob_Start(’ob_gzhandler’);
}
?>

最后在文件的末行加入

<?php If(Extension_Loaded(’zlib’)) { Ob_End_Flush(); } ?>

建立一个php文件,把所有请求都定向到这个文件,然后用这个文件载入要访问的内容。

 

参考内容:

http://www.gzip.org/
http://fairyfish.net/2008/04/07/gzip/
LunarPages中实现gzip压缩输出
取自"http://www.zzbaike.com/wiki/Gzip"

posted on 2009-01-01 15:21  ewshop官方博客  阅读(800)  评论(0编辑  收藏  举报