注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 窥冰山一角解密流氓软件
 帮助

PHP使用Gzip压缩传输


2008-08-14 14:11:40
 标签:PHP   [推送到技术圈]

Gzip不多说了,详细介绍看这里:http://zh.wikipedia.org/wiki/Gzip
IIS6开启步骤:
1.添加Gzip的Web服务扩展并设置为有效,gzip的DLL在(%windir%/system32/inetsrv/gzip.dll)
2.IIS 管理器 > 网站 > 属性 > 服务选项卡 > HTTP压缩,根据需要设置,我把两个都勾上,对动态文件也压缩。
3.此时重启IIS,压缩就生效了。但是默认设置压缩的文件格式太少,可以进一步设置。
4.修改 MetaBase.xml,建议先备份。
找到 Location ="/LM/W3SVC/Filters/Compression/gzip"
HcDynamicCompressionLevel ,设置压缩率,取值0~10,0不压缩,10最高压缩率
HcFileExtensions,需要压缩的静态文件扩展名,默认只有htm,html,txt,可以把js,css添加进去。建议按原来的格式,用换行作为分隔
HcScriptFileExtensions,需要压缩的动态文件扩展名
在这下面有 Location ="/LM/W3SVC/Filters/Compression/Parameters"
一个有用的设置是HcMinFileSizeForComp,小于该大小的文件不压缩。
5.iisreset -stop 停止IIS,保存MetaBase.xml
6.iisreset -start 启动IIS
基本上Gzip就开启了。
可以访问这里检测:http://www.pipeboost.com/report.asp
另:
上面的检测地址是一个叫pipeboost的软件的测试地址,这个软件可以很直观的设置IIS的Compression,并且可以缓存。
可以针对单个站点设置是否启用压缩等等,非常好用!
可惜就是太贵了,1499刀!杀人哦~~~
有兴趣可以去下载30天试用版http://www.pipeboost.com/trial.asp
Gzip压缩传输能更加有效节约带宽流量。他先把文本压缩为.gz然后传输给浏览器,最后由浏览器负责解压缩呈现给用户。
老版本的浏览器可能不能显示,但是现在大多数浏览器都能显示。

启用Gzip传输首先要求PHP4.0.5以后版本。

方法1:

在.htaccess中加入
php_flag zlib.output_compression on
php_value zlib.output_compression_level 2

方法2:

在php脑袋顶上加入
ob_start(”ob_gzhandler”);

这两个方法都能达到压缩传输的效果。

这里检查你的网站是否是压缩过的

另外如何GZIP压缩HTML呢?

这个很简单:首先把HTML做成PHP,然后在.htaccess中重写html就可以了。




    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: