¿Por qué es beneficiosa la minificación HTML / Javascript cuando el protocolo HTTP ya admite la compresión de datos gzip?
Me doy cuenta de que la minificación de Javascript / HTML tiene el potencial de reducir significativamente el tamaño de los archivos Javascript / HTML al eliminar espacios en blanco innecesarios, y tal vez cambiar el nombre de las variables a unas pocas letras cada una, pero el algoritmo LZW no funciona especialmente bien cuando hay muchas repeticiones caracteres (por ejemplo, muchos espacios en blanco?)
Me doy cuenta de que algunas herramientas de minificación de Javascript hacen más que solo reducir el tamaño. El compilador de cierre de Google, por ejemplo, también trata de mejorar el rendimiento del código al incorporar funciones y hacer otros análisis. Pero el objetivo principal de la minificación de Javascript suele ser reducir el tamaño del archivo.
También me doy cuenta de que hay otras razones por las que es posible que desee minimizar además del rendimiento, como la ofuscación de código. Pero, de nuevo, esa razón generalmente no se enfatiza tanto como la ganancia de rendimiento y la reducción del tamaño del archivo. Por ejemplo, Closure Compiler no se anuncia como una herramienta de ofuscación, sino como un reductor de tamaño de código y un potenciador de la velocidad de descarga.
Entonces, ¿cuánto rendimiento obtiene realmente de la minificación de Javascript / HTML cuando ya está reduciendo significativamente el tamaño del archivo con la compresión gzip?
fuente
La minificación + gzip generalmente da mejores resultados, porque gzip es un algoritmo general, no adaptado específicamente a una entrada u otra, mientras que el minificador conoce su contenido y puede hacer el trabajo que el algoritmo de compresión general no puede. También puede permitirse el lujo de perder (piense: elimine por completo los comentarios y espacios en blanco; eso es 100% de compresión para estos datos, ¿cómo puede vencerlos?), Mientras que la compresión general no puede.
fuente
Es posible que no obtenga demasiados beneficios de rendimiento, pero aún así reducirá su uso de ancho de banda. Si puede eliminar unos pocos kb de sus archivos js (y css) mediante la minificación (y el uso de sprites css para reducir el número de solicitudes) y atiende a miles de usuarios por día, después de un mes reducirá significativamente su ancho de banda.
fuente
Lo más costoso que haces en una aplicación web es enviar cosas por el cable. Enviar menos cosas por el cable es casi siempre una ganancia neta si paga en ciclos de CPU.
Además, no tengo nada científico para respaldar esto, pero esperaría que las herramientas de minificación probablemente puedan comprimir javascript mejor que gzip si por ninguna otra razón que las herramientas de minificación son específicas del dominio y se pueden ajustar para comprimir mejor javascript mientras que gzip es una herramienta genérica y se comprometerá en el medio.
fuente