首页 » App » 再谈 gzip

再谈 gzip

April 7th, 2008 at 01:39am 雪山飞猪 浏览: 2,542

前面文章谈到了在 WordPress 2.5 中的 gzip。很多同学给我留了言,并且指出了其中的一些错误,非常感谢,今天我就仔细在网上看了一下 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 Pages 插件。

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

作者:雪山飞猪
原文链接:再谈 gzip
我爱水煮鱼版权所有,转载时必须以链接形式注明作者和原始出处及本声明。

17fav 收藏本文

del.ici.ous: 1 -- Technorati: 6

12 条评论 添加你的评论

  • 1. bssn  |  April 7th, 2008 at 1:40 am

    又谈?刚才刷新还没有出来这篇文章。占楼先。

    [回复该留言]

    ken reply on April 7, 2008:

    你好,我想知道,你留言框里的回复此留言是什么插件?谢谢!

    [回复该留言]

  • 2. MO  |  April 7th, 2008 at 9:29 am

    ^-^测试了一下, 的确可以通过修改.htaccess来实现gzip...
    Compression % 74.0 挺夸张的压缩比啊...

    [回复该留言]

    bluedesign reply on April 23, 2008:

    这个是怎么测试出来的结果啊??
    我查看了空间是Apache 2.0 并且加载了 mod_deflate,是不是就不用加载那个GZIP的插件了? :?:

    [回复该留言]

    雪山飞猪 reply on April 23, 2008:

    对!

    [回复该留言]

    bluedesign reply on April 23, 2008:

    谢谢!!

    [回复该留言]

  • 3. 正在连接中  |  April 7th, 2008 at 1:23 pm

    http://wordpress.org.cn/viewthread.php?tid=11805&pid=58087&page=1&extra=page%3D1#pid58087

    水煮鱼大大,是否能帮我解决一下这个问题,我是win主机,关于2.5新建页面无法访问的问题。

    [回复该留言]

    bssn reply on April 7, 2008:

    你重新更新下永久链接如果还不能的话,应该是服务器不支持.htaccess。

    [回复该留言]

  • 4. GoGo  |  April 7th, 2008 at 3:44 pm

    如果在htaccess中加入代码,会否使服务器的CUP占用有所增高,我哪个空间限制CPU的。

    还有我按你的方法将Popularity Contest 转换到 PostViews
    我把代码加到 footer 运行后,在底部显示了插入的代码,这样是否成功了,或者怎样可以知道转换成功??

    [回复该留言]

    雪山飞猪 reply on April 7, 2008:

    1. 不清楚这个。
    2. 使用 postviews 的the_views 函数,看看调用出来的浏览次数是不是不为0。

    [回复该留言]

  • 5. xjb  |  April 7th, 2008 at 4:45 pm

    恩,在我的服务器试试看

    [回复该留言]

  • 6. 胡戈戈  |  April 14th, 2008 at 3:54 am

    我的好像没有启用,我用了wp super cache,是不是同时也要启用gzip比较好呢
    我明天再看下启用了

    [回复该留言]

发表评论

必须

必填,打死不公开

:mrgreen: :neutral: :twisted: :arrow: :shock: :smile: :???: :cool: :evil: :grin: :idea: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: :!: :?:

gzip on WordPress 2.5 BlogUpp!


订阅

本站推荐

正在更新

分类

Clicki

抓虾