1. 通过压缩减少须传输的字节数,以加快传输时间
2. 什么东西应该压缩?
a.图片、PDF等二进制文件不应该压缩,因为它们已经压缩过了
b.太小的文件不应压缩。为小文件压缩而耗费一些CPU时间不太值得。一般来说,应该只对1KB或2KB以上的文件进行压缩。
3.浏览器端的支持
支持HTTP1.1的浏览器才能展现压缩过的内容。如果你用的是APACHE服务器,则可以设置“浏览器白名单”,只对名单里的客户端传输压缩过的内容。
4.具体怎么配置?
Apache : mod_gzip_on (Apache 1.3), mod_defalte (Apache 2.x)
考虑到代理服务器的情况,应在响应头中设置 Vary: Accept-Encoding
代理服务器可能会带来很多复杂性(请看原书)。可以通过 Cache-Control:Private干脆禁止代理缓存, Google和Yahoo就是这样干的。
附:HTTP中浏览器和服务器怎么就压缩问题“握手”?
1.浏览器发出的请求头有:Accept-Encoding: gzip,deflate, 表示本浏览器支持压缩过的东西
2.服务器发出的响应头有:Accept-Encoding: gzip,表示本服务器已将内容进行了gzip压缩。如果服务器不支持压缩,则不提供此头。