Desinflar la compresión compatibilidad del navegador y ventajas sobre GZIP
ACTUALIZACIÓN Feb 10 2012:
ZOompf ha completado una investigación muy exhaustiva sobre este mismo tema aquí . Supera cualquier hallazgo a continuación.
ACTUALIZACIÓN del 11 de septiembre de 2010:
Se ha creado una plataforma de pruebas para esto aquí
HTTP 1.1 definiciones de GZIP y DEFLATE (zlib) para información de fondo:
" 'Gzip' es el formato gzip, y 'deflate' es el formato zlib. Le deber probablemente han llamado a la segunda 'zlib' en lugar de evitar confusión con el formato de datos comprimidos desinflados sin procesar. Mientras que el HTTP 1.1 RFC 2616 apunta correctamente a la especificación zlib en RFC 1950 para la codificación de transferencia' deflate', ha habido informes de servidores y navegadores que producen incorrectamente o esperan desinflar raw datos según la especificación de deflate en RFC 1951, más notablemente Productos de Microsoft. Así que a pesar de que el' desinflar ' codificación de transferencia utilizando el zlib format would be the more efficient approach ( and in fact exactly para qué fue diseñado el formato zlib), usando la transferencia' gzip' codificación es probablemente más fiable debido a una elección desafortunada de nombre por parte de los autores HTTP 1.1."(fuente: http://www.gzip.org/zlib/zlib_faq.html)
Entonces, mi pregunta: si envío datos de deflación sin procesar sin envoltura zlib (o gzip, para el caso) ¿hay algún navegador moderno (por ejemplo, IE6 y arriba, FF, Chrome, Safari, etc) que no puede entender la deflación cruda ¿datos comprimidos (suponiendo que el encabezado de solicitud HTTP "Accept-Encoding "contenga " deflate")?
Los datos de deflate SIEMPRE serán unos pocos bytes más pequeños que GZIP.
Si todos estos navegadores pueden decodificar con éxito los datos, lo que desventajas hay que enviar RAW deflate en lugar de zlib?
ACTUALIZACIÓN del 11 de septiembre de 2010:
Se ha creado una plataforma de pruebas para esto aquí
4 answers
ACTUALIZACIÓN: Los navegadores han estado eliminando el soporte para raw deflate. zOompf ha completado una investigación muy exhaustiva sobre este tema aquí . Desafortunadamente, parece que raw deflate NO es seguro de usar.
Comprobar http://www.vervestudios.co/projects/compression-tests/results para más resultados.
Estos son los navegadores que se han probado:
/* 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 Envía encabezado de solicitud HTTP " Accept-Encoding: gzip". Desinflar no está permitido.
Concluyo que podemos siempre enviar raw DEFLATE (cuando el encabezado de solicitud HTTP "Accept-Encoding" contiene "deflate") y el navegador será capaz de interpretar correctamente los datos codificados. ¿Puede alguien probar que esto está mal?
nota: La implementación nativa de.NET de DEFLATE (System.IO.Compression.DeflateStream) es raw DEFLATE. También apesta. Utilice zlib.net para toda su desinflación. NET requiere.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-19 09:47:56
El navegador Android 1.6 (v4) falla tanto en la prueba zlib como en la prueba deflate en tu página. Lo he añadido a tu lista.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-22 07:06:45
¿No es el caso que AddOutputFilterByType DEFLATE
usando mod_deflate envía por gzip por defecto?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-26 17:48:51
Por lo que sé, sí, prácticamente "siempre puedes enviar DESINFLAR raw y todo estaría bien"... no hay "siempre", pero sobre todo casos. si no, este es el problema del navegador.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-17 02:24:12