scripts roleplay para mods fastrix content accept http encoding compression gzip deflate

http - roleplay - ¿Por qué los servidores del mundo real prefieren gzip sobre la codificación desinflada?



panel login mta (6)

A partir de mis pruebas mínimas, aparece la mayoría de los HTTPds:

  1. no admite desinflar sobre la marcha: mod_deflate de Apache (una sorpresa), GWS
  2. o prefiere enviar gzip: IIS, mod_compress de lighttpd

Por lo tanto, para enviar desinflar en el servidor más popular (Apache), debe mantener archivos precodificados y usar mod_negotiate (incluso puede que tenga que usar type-maps para preferir desinflar).

Supongo que, debido a esta molestia, el desinflado rara vez se utiliza y, por lo tanto, es más probable que existan errores en el soporte de deflación del cliente que en el soporte de gzip.

Ya sabemos que la codificación desinflada es un ganador sobre gzip con respecto a la velocidad de codificación, decodificación y tamaño de compresión.

Entonces, ¿por qué los sitios grandes (que puedo encontrar) no lo envían (cuando uso un navegador que lo acepta)?

Yahoo afirma que el desinflado es "menos efectivo". ¿Por qué?

Mantengo el software del servidor HTTP que prefiere desinflar, por lo que me gustaría saber si hay alguna razón realmente buena para no seguir haciéndolo.


ActionScript 3 tiene soporte nativo desinflado, pero para gzip necesita usar una biblioteca externa


Existe cierta confusión sobre la denominación entre las especificaciones y el HTTP:

  • DEFLATE como se define en RFC 1951 es un formato de datos comprimido .
  • ZLIB tal como se define en RFC 1950 es un formato de datos comprimido que utiliza el formato de datos DEFLATE .
  • GZIP como se define en RFC 1952 es un formato de archivo que utiliza el formato de datos comprimidos DEFLATE .

Pero el HTTP usa una denominación diferente :

  • gzip Formato de codificación producido por el programa de compresión de archivos "gzip" (GNU zip) como se describe en RFC 1952 [25]. Este formato es una codificación Lempel-Ziv (LZ77) con un CRC de 32 bits.

  • deflate El formato "zlib" definido en RFC 1950 [31] en combinación con el mecanismo de compresión "desinflar" descrito en RFC 1951 [29].

Así que para resumir:

  • gzip es el formato de archivo GZIP .
  • deflate es en realidad el formato de datos ZLIB . (Pero algunos clientes también aceptan el formato de datos DEFLATE real para deflate ).

Ver también esta respuesta a la pregunta ¿Cuál es la diferencia entre las codificaciones HTTP 1.1 "gzip" y "deflate"? :

¿Cuál es la diferencia entre las codificaciones HTTP 1.1 "gzip" y "desinflar"?

"gzip" es el formato gzip, y "deflate" es el formato zlib. Probablemente deberían haber llamado al segundo "zlib" en su lugar para evitar confusiones con el formato de datos comprimidos sin formato. Mientras que el HTTP 1.1 RFC 2616 apunta correctamente a la especificación zlib en RFC 1950 para la codificación de transferencia "desinflar", ha habido informes de servidores y navegadores que producen o esperan datos de desinflado crudos por deflación en RFC 1951, especialmente Microsoft . Entonces, aunque la codificación de transferencia "desinflar" usando el formato zlib sería el enfoque más eficiente (y de hecho exactamente para lo que se diseñó el formato zlib), usar la codificación de transferencia "gzip" probablemente sea más confiable debido a una elección desafortunada de nombre por parte de los autores HTTP 1.1.


Me preguntaba lo mismo :). Creo que podría tratarse de compatibilidad con navegadores antiguos (posiblemente antiguos). Leí en alguna parte que los navegadores más antiguos tienen más probabilidades de asomarse al contenido desinflado que mod_gzip en ciertas instancias (?) Pero buscar en Google esto me llevó a concluir que probablemente sea mejor dejar de buscar en Google.


Por lo que yo sé (descargo de responsabilidad: y no soy un experto aquí, solo lo que he oído), gzip usa el mismo algoritmo que deflate pero tiene más elementos en el encabezado que lo hacen tener un tamaño mayor (relativo al deflate ) . Sin embargo, creo que deflate es respaldado por menos clientes y proxies.


Visite este sitio web para obtener más información: http://web.archive.org/web/20120321182910/http://www.vervestudios.co/projects/compression-tests

Deflate, por especificación, es en realidad zlib (un formato de compresión desarrollado específicamente para la transmisión de contenido a través de la web) ... que es un contenedor que se desinfla.

Internet Explorer, sin embargo, implementa incorrectamente HTTP 1.1 deflate (zlib) como desinflado sin formato. Por lo tanto, si su servidor envía el contenido HTTP deflate (zlib) HTTP correcto a IE, se bloquea.

Investigué un poco el tema y parece seguro enviar SIEMPRE desinflado sin procesar a navegadores modernos ... solo asegúrese de que sea, de hecho, en bruto y no zlib.

Consulte este artículo para obtener más información> Gzip vs Deflate (zlib) revisitado .

Así que creo que hay una buena razón para seguir enviando desinflar a través de gzip.