background image

3、压缩网页内容

 

影响站点的访问速度还有 1 个重要因素,那就是下载速度。解决的办法就是压缩网页

内容。对于纯文本内容而言,HTTP 压缩技术可压缩至原大小的 40%以下,从而提供 60%

以上的数据传输节约。虽然 Web 服务器会因为压缩导致 CPU 占用的略微上升,但可以节

约大量用于传输的网络 IO。

 

根据 IETF 规范,大部分浏览器都支持使用 gzip 压缩算法进行内容压缩。也就是说,

可以先用 gzip 压缩网页内容,然后发送到客户端浏览器,浏览器在接收的时候会自动解

压数据,再显示页面。这个过程对用户来说,是完全透明的。同样,压缩 Web 页面的内容

也有不同的方法。

 

Mod_gzip 是 1 种开放源代码的、标准的 Apache 模块,也叫互联网内容加速模块。可以

将它和 Apache 一起编译,也可以作为 DSO 使用。相对于普通的浏览过程,它可以节省

40%左右的流量。Mod_gzip 不仅可以压缩静态的内容,如 HTML、XML,而且对动态生成

的,包括 SQL、Java、WML、VRML 等产生的内容,在服务器端进行实时压缩并传输,其

压缩效率惊人,一般都为 60%~85%。

 

压缩动态网页的内容,还可以使用 class.gzip 来对.php 文件编码,class.gzip 通过在

PHP 脚本的开头和结尾调用它的一些函数来压缩网页内容。如果整个站点都需要这样的压

缩,可以在 php.ini 文件中的 auto_prepend 和 auto_append 中调用这些函数,但是会占用一

定的系统开销。

 

PHP4.0.4 推出了 1

种新的输出缓冲的处理手段 ob_gzhandler,它的作用和 class.gzip

完全一样,区别是可以直接把它加到 php.ini 文件中,语法如下: