zOompf已经完成了这个题目了一些非常深入的研究在这里.它胜过下面的任何发现.
一些背景信息的GZIP和DEFLATE(zlib)的HTTP 1.1定义:
"'Gzip'是gzip格式,'deflate'是zlib格式.它们应该调用第二个'zlib'来避免与原始deflate压缩数据格式混淆.虽然HTTP 1.1 RFC 2616正确指向RFC 1950中针对'deflate'传输编码的zlib规范,有报告称服务器和浏览器根据RFC 1951中的deflate规范错误地生成或期望原始deflate数据,最明显的是Microsoft产品.所以尽管'deflate'使用zlib格式的传输编码将是更有效的方法(实际上正是 zlib格式的设计),使用'gzip'传输编码可能更可靠,因为HTTP上的名称选择不幸1.1作者." (来源:http://www.gzip.org/zlib/zlib_faq.html)
所以,我的问题是:如果我使用NO zlib包装器发送RAW deflate数据(或gzip,就此而言)是否有任何现代浏览器(例如,IE6和更高版本,FF,Chrome,Safari等)无法理解原始的deflate压缩数据(假设HTTP请求标头"Accept-Encoding"包含"deflate")?
放气数据总是比GZIP小几个字节.
如果所有这些浏览器都能成功解码数据,那么发送RAW deflate而不是zlib会有什么缺点?
我通过apache提供所有内容,Content-Encoding: zip但即时压缩.我的大量内容是磁盘上的静态文件.我想事先gzip文件,而不是每次请求时压缩它们.
我认为,这是mod_gzip在Apache 1.x中自动执行的操作,但只是将文件与.gz放在一起.不再是这种情况了mod_deflate.