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成为了可能。

Creative Commons License

共有 6 条评论

  1. 老所 @

    有点意思,呵呵!

  2. zlowly @

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

  3. amer @

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

  4. amer @

    服务器端有个Apache Gzip module

  5. lq @

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

  6. jao @

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

发表评论

(必填)

(必填)