Pregunta

¿Qué ventajas ofrecen ya sea método para HTML, CSS y Javascript archivos servidos por un servidor LAMP. ¿Hay mejores alternativas?

El servidor proporciona información a una aplicación de mapas usando JSON, por lo que un gran volumen de archivos pequeños.

Ver también ¿hay algún impacto en el rendimiento implicados en la elección de gzip sobre desinflar para la compresión HTTP?

¿Fue útil?

Solución

  

¿Por qué utilizar desinflado en lugar de gzip para archivos de texto publicados por Apache?

La respuesta simple es No .


RFC 2616 define desinflar como:

  

desinflar el formato "zlib" se define en el RFC 1950 en combinación con el mecanismo de compresión "desinflar" se describe en el RFC 1951

El formato zlib se define en RFC 1950 como:

     0   1
     +---+---+
     |CMF|FLG|   (more-->)
     +---+---+

       0   1   2   3
     +---+---+---+---+
     |     DICTID    |   (more-->)
     +---+---+---+---+

     +=====================+---+---+---+---+
     |...compressed data...|    ADLER32    |
     +=====================+---+---+---+---+

Así, unos encabezados y una suma de comprobación Adler32

RFC 2616 define gzip como:

  

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

RFC 1952 define los datos comprimidos como:

  

El formato actualmente utiliza el método DEFLATE de compresión, pero se puede extender fácilmente a utilizar otros métodos de compresión.

CRC-32 es más lento que Adler32

  

En comparación con un control de redundancia cíclica de la misma longitud, que comercia fiabilidad para la velocidad (prefiriendo el último).

Así que ... tenemos 2 mecanismos de compresión que utilizan el mismo algoritmo de compresión, pero una diferente algoritmo para encabezados y suma de control.

Ahora, los paquetes TCP subyacentes ya están bastante fiable , por lo que la cuestión aquí no es Adler 32 vs CRC-32 utiliza que GZIP.


Resulta que muchos navegadores lo largo de los años implementado un algoritmo deflate incorrecta. En lugar de esperar la cabecera zlib en el RFC 1950 que simplemente espera que la carga útil comprimido. Del mismo modo varios servidores web cometieron el mismo error.

Así, en los últimos años los navegadores comenzó a aplicar una lógica difusa desinflar aplicación, tratan de cabecera zlib y suma de comprobación Adler, si eso no funciona tratan de carga útil.

El resultado de tener una lógica compleja como que es que a menudo se rompe. Verve Estudio tiene una contribuyó probar sección que muestran la gravedad de la situación.

Por ejemplo: desinflar obras en Safari 4.0, pero se ha roto en Safari 5.1, también siempre tiene problemas en IE.


Por lo tanto, lo mejor que puede hacer es evitar desinflarse por completo, el aumento de velocidad menor (debido a Adler 32) no vale la pena el riesgo de cargas útiles rotos.

Otros consejos

GZip es simplemente desinflar más una suma de comprobación y el encabezado / pie de página. Desinflar es más rápido , aunque, como he aprendido de la manera difícil.

gzip vs gráfico deflate

No es probable capaz de recoger en realidad se desinfla como una opción. Al contrario de lo que puede esperar mod_deflate no está usando desinflar pero gzip. Así, mientras que la mayoría de los puntos señalados son válidos es probable que no es relevante para la mayoría.

Creo que no hay gran diferencia entre desinflado y gzip, porque gzip básicamente es sólo una cabecera envuelto alrededor de desinflado (ver RFC 1951 y 1952).

La razón principal es que es más rápido desinflado para codificar que gzip y en un servidor ocupado que podrían hacer una diferencia. Con las páginas estáticas que es una cuestión diferente, ya que pueden fácilmente ser pre-comprimido una vez.

mod_deflate requiere menos recursos en el servidor, aunque es posible que pagar una pequeña penalización en términos de la cantidad de compresión.

Si está cumpliendo muchos archivos pequeños, me gustaría recomendar la evaluación comparativa y la carga de probar sus soluciones comprimidos y sin comprimir -. Usted puede encontrar algunos casos en los que permite la compresión no resultará en ahorros

No debería haber ninguna diferencia en gzip y desinflar para la descompresión. Gzip se acaba de desinflar un remate de docenas de bytes pocos envuelto alrededor de ella, incluyendo una suma de comprobación. La suma de control es la razón por la compresión más lento. Sin embargo cuando se está precompresión millones y millones de archivos que desea esas sumas de comprobación como una comprobación de validez en su sistema de archivos. Además, puede utilizar las herramientas de línea de comandos para obtener estadísticas sobre el archivo. Para nuestro sitio estamos comprimir previamente una tonelada de datos estáticos (todo el directorio abierto, 13.000 juegos, autocompletar para millones de palabras clave, etc.) y estamos clasificados 95% más rápido que todos los sitios web Alexa. Faxo Buscar . Sin embargo, nosotros utilizamos un servidor web propio hogar crecido. Apache / mod_deflate simplemente no es suficiente. Cuando los archivos están comprimidos en el sistema de archivos no sólo se toma un golpe para su archivo con el tamaño mínimo de bloque del sistema de ficheros, pero toda la sobrecarga innecesaria en la gestión del archivo en el sistema de archivos que el servidor web podría importar menos. Sus preocupaciones deben ser la huella total del disco y el acceso / tiempo de descompresión y secundariamente acelerar en ser capaz de obtener estos datos precomprimido. La huella es importante porque a pesar de que el espacio en disco es barato que desea tanto como sea posible para encajar en la memoria caché.

En Ubuntu con Apache 2 y el módulo desinflado ya instalado (que está por defecto), puede activar desinflado compresión gzip en dos sencillos pasos:

a2enmod deflate
/etc/init.d/apache2 force-reload

Y estás lejos! He encontrado páginas que sirve a través de mi conexión ADSL cargan mucho más rápido.

Editar:. Según comentario de @ GertvandenBerg, esto permite la compresión gzip, se desinfla

Si no recuerdo mal

  • gzip comprime un poco más de desinflar
  • desinflado es más eficiente
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top