UPDATE 2012年2月10日:
zOompf已经完成了这个题目了一些非常深入的研究在这里 。 它胜过任何低于调查结果。
UPDATE 2010年9月11日:
一个测试平台已经为此创建这里
HTTP 1.1 GZIP和DEFLATE(ZLIB)对于一些背景信息的定义:
“‘Gzip已’是gzip格式,而‘放气’是zlib的格式 。他们应该可能已经被称为第二个‘zlib的’,而不是为了避免与压缩后的数据格式的原始放气的混乱。虽然HTTP 1.1 RFC 2616正确地指向在RFC 1950年zlib的规格为“放气”传输编码, 已经有服务器和浏览器错误地产生或期望在RFC 1951年, 最明显的是微软的产品 。因此,即使“放气” 每放气规范原料放气数据的报告使用zlib格式转换编码将是更有效的方法( 事实上正是zlib的格式是专为 ),使用“gzip的”传输编码可能是更可靠的,由于在HTTP的一部分不幸的选择名称1.1作家“。 (来源: http://www.gzip.org/zlib/zlib_faq.html )
所以,我的问题:如果我送,没有zlib的包装(或gzip的,对于这个问题)RAW放气的数据是否有任何现代浏览器(如IE6及以上,FF,Chrome浏览器,Safari浏览器等)是无法理解的原料放气压缩数据(假设HTTP请求报头“的Accept-Encoding”包含“放气”)?
紧缩的数据往往会出现几个字节比gzip小。
如果所有这些浏览器都可以成功解码的数据,有什么缺点在那里发送RAW放气代替的zlib?
UPDATE 2010年9月11日:
一个测试平台已经为此创建这里
UPDATE:浏览器已经下降为原料放气的支持。 zOompf已经完成了这个题目了一些非常深入的研究在这里 。 不幸的是,似乎生放气是不是安全使用。
检查http://www.vervestudios.co/projects/compression-tests/results更多的结果。
这里是已测试的浏览器:
/* Browser DEFLATE ZLIB */
XP Internet Explorer 6 PASS FAIL
XP Internet Explorer 7 PASS FAIL
XP Internet Explorer 8 PASS FAIL
Vista Internet Explorer 8 PASS FAIL
XP Firefox 3.6.* PASS PASS
XP Firefox 3.5.3 PASS PASS
XP Firefox 3.0.14 PASS PASS
Win 7 Firefox 3.6.* PASS PASS
Vista Firefox 3.6.* PASS PASS
Vista Firefox 3.5.3 PASS PASS
XP Safari 3 PASS PASS
XP Safari 4 PASS PASS
XP Chrome 3.0.195.27 PASS PASS
XP Opera 9 PASS PASS
XP Opera 10 PASS PASS
XP Sea Monkey 1.1.8 PASS PASS
Android 1.6 Browser (v4)* N/A N/A
OS-X Safari 4 PASS PASS
OS X Chrome 7.0.517.44 PASS PASS
OS X Opera 10.63 PASS PASS
iPhone 3.1 Safari PASS PASS
*的Android发送HTTP请求头“的Accept-Encoding:gzip的”。 放气是不允许的。
我的结论是,我们总是可以发送原始 DEFLATE(当HTTP请求头“的Accept-Encoding”包含“放气”)和浏览器就能正确地解释编码数据。 有人可以证明这错了吗?
注意:.NET的DEFLATE(System.IO.Compression.DeflateStream)的本机实现是原始缩小。 它也很烂。 请使用zlib.net您所有的.NET放气需求。
而Android 1.6的浏览器(V4)失败既zlib的和你的页面上的放气试验。 我已经将其添加到列表中。
是不是它的情况是AddOutputFilterByType DEFLATE
使用mod_deflate模块发送由gzip的默认?
据我所知,是的 - 几乎你“可以随时发送原始DEFLATE,一切会好起来” ......没有“总是”,但大多数的所有案件。 如果不是,这是浏览器的问题。