Ответ 1
ОБНОВЛЕНИЕ: Браузеры отказываются от поддержки сырой дефляции. 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". Дефляция не разрешена.
Я заключаю, что мы можем всегда отправлять raw DEFLATE (когда заголовок HTTP-запроса "Accept-Encoding" содержит "deflate" ), и браузер сможет правильно интерпретировать закодированные данные. Может кто-то доказать это неправильно?
Примечание: встроенная реализация .NET из DEFLATE (System.IO.Compression.DeflateStream) является сырой DEFLATE. Это также отстой. Пожалуйста, используйте zlib.net для всех ваших потребностей в дефляции .NET.