2012 年 2 月 10 日更新:
zOompf 在这里完成了关于这个主题的一些非常彻底的研究。它胜过以下任何发现。
2010 年 9 月 11 日更新:
在这里为此创建了一个测试平台
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 格式的设计目的),由于 HTTP 1.1 作者不幸选择了名称,因此使用 'gzip' 传输编码可能更可靠。”(来源:http ://www.gzip.org/zlib/zlib_faq.html )
所以,我的问题:如果我发送没有 zlib 包装器(或 gzip,就此而言)的 RAW deflate 数据,是否有任何现代浏览器(例如,IE6 及更高版本、FF、Chrome、Safari 等)无法理解原始 deflate压缩数据(假设 HTTP 请求标头“Accept-Encoding”包含“deflate”)?
Deflate 数据总是比 GZIP 小几个字节。
如果所有这些浏览器都可以成功解码数据,那么发送 RAW deflate 而不是 zlib 有什么缺点?