什么是Gzip

以前一直都听说wordpress的一种功能非常棒,就是Gzip功能,将其开启可以大大增加网页浏览速度!但是升级到wordpress2.5后就发现不再有原来的那个功能,也曾有人尝试通过插件再次开启这样的功能,具体详情可参照我爱水煮鱼

上的说明。但是后来水煮鱼指正了错误,原文地址在这里 我只是在此抛砖引玉罢了。究竟何为Gzip呢?一下是来自水煮鱼的总结

gzip 最早由 Jean-loup Gailly 和 Mark Adler 创建,用于 UNIX 系统的文件压缩。我们在 Linux 中经常会用到后缀为.gz 的文件,它们就是 gzip 格式的。现今已经成为 Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP 协议上的 gzip 编码是一种用来改进 Web 应用程序性能的技术。大流量的 Web 站点常常使用gzip 压缩技术来让用户感受更快的速度。

WordPress 2.5 取消了 gzip 选项,现在是否启用 gzip 压缩,直接服务器决定。如果服务器使用的是 Apache 2,服务器是采用 mod_deflate 模块来实现 gzip。

其实我们在 .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 版本不是 2.0 而是 1.3,就可以使用 ob_gzhandler 函数进行压缩(需要 PHP 含有 zlib 库,一般有):

首先需要把 CSS 或者 JS 文件后边加上后缀 .php。

然后在文件的首行加入

<?php
If(Extension_Loaded(zlib)){
Ob_Start(ob_gzhandler);
}
Header(Content-type: text/css); //JS文件为 Content-type: text/javascript 
?>

最后在文件的末行加入

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

对应的引用这个 CSS 或者 JS 的时候需要改一下文件的名字,后缀加 .php

WordPress 2.5 之前的 gzip 选项就是采用这种方法进行页面,经过测试,采用服务器压缩要比使用 PHP 压缩要更快,而且压缩之后更小。所以你的服务器是 Apache 2.0 并且加载了 mod_deflate,建议不要使用这个方法压缩。

具体可以参考:
gzip_百度百科
WordPress 2.5 gzip启用问题
PHP使用mod_deflate压缩页面和使用GZip压缩页面的方法

, , , , , , , , ,
8th April 2008 0 comments Permalink

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Statistical data collected by Statpress SEOlution (blogcraft).