人肉gzip

gzip 是什么东东呢?百科跟我们说

gzipGNU zip的缩写,它是一个 GNU 自由软件的文件压缩程序。…
gzip 的基础是 DEFLATE ,DEFLATE 是 LZ77 与哈夫曼编码的一个组合体。…
gzip” 也经常用来表示 gzip 文件格式,这种格式:

  • 10 字节的头,包含幻数、版本号以及时间戳
  • 可选的扩展头,如原文件名
  • 文件体,包括 DEFLATE 压缩的数据
  • 8 字节的尾注,包括 CRC-32 校验和以及未压缩的原始数据长度

简单来说,Gzip就是一种让你的网页显示变快一种神奇的东东。

那么,什么是人肉Gzip呢?就把本来要服务器动态压的东东人工压,大家可以先看一下这篇:Gzipping CSS and Javascript files。实现方式就人工zip一下,然后服务器再派上头。

<link rel="stylesheet" href="style.cgz" media="all" type="text/css" />
# Compressed css files
AddEncoding x-gzip .cgz
AddType text/css .cgz

其实Gzip就是三个选择:CPU、内存、IO,通常都是cpu+内存来做,我并不喜欢这个人工IO的方式,它最大的一个问题就是不能解决http1.0的问题,而且很体力活,不过我们可以人工zip来看我们的东西Gzip后的大小。在中国,因为有好多xx版XP的原因,http1.0成为了可能。

This entry was posted in Web开发 and tagged . Bookmark the permalink.

8 Responses to 人肉gzip

  1. 老所 @ 2008-11-17 at 13:46

    有点意思,呵呵!

  2. zlowly @ 2008-11-20 at 11:49

    如果再结合apache的url rewrite,利用规则如果存在同名的*.*gz就直接转过去用,这样根本连后缀js、css都无需修改。好处是只是更改apache的配置而无需更改源代码,代码的移植或者更换服务器都不会出现问题。

  3. amer @ 2008-11-22 at 15:54

    一般都是服务器程序自动压缩的,人肉上行下行还要折腾一下。人肉GZIP主要用于那种租虚拟空间的人吧,有服务器到不需要这么做了。。。

  4. amer @ 2008-11-22 at 15:56

    服务器端有个Apache Gzip module

  5. lq @ 2008-12-04 at 23:24

    嗯,这篇文章远不如上一篇红火。不过一般服务器都有gzip的

  6. jao @ 2009-02-21 at 16:43

    lighttpd 里的 compress 模块还可以缓存压缩后的数据,也就是第二次请求就无需耗费 cpu 来压缩了。

  7. 华晨 @ 2009-11-01 at 21:59

    和在网上看到的一篇半自动化gzip差不多,但是没有他说的详细。建议博主看一看那篇文章。Google搜索半自动化gzip第一个就是了。

    • aoao @ 2009-11-02 at 10:47

      我发现他也只给了结果

发表评论

(必填)

(必填)