2010-03-01 6 views
39

Duplicar posible:
Why minify assets and not the markup?¿Por qué muchos sitios minimizan CSS y JavaScript pero no HTML?

he visto una gran cantidad de sitios que utilizan CSS y JavaScript minified a aumentar el tiempo de respuesta del sitio web, pero nunca he visto a ningún sitio usar HTML miniaturizada. ¿Por qué no quieres que tu HTML se minimice?

+4

Google.com hace ... – Ally

+2

http://stackoverflow.com/questions/1306792/why-minify-assets-and-not-the-markup – UmYeah

+3

@Ally - lo que es relevante para la página de inicio de Google.com probablemente no ¡No se aplica al sitio promedio! –

Respuesta

59

Porque si estás haciendo las cosas correctamente, estás sirviendo HTML gzip de todos modos, por lo que la fruta de la minificación de HTML, el espacio en blanco, no es tan relevante. No hay muchos objetivos fáciles (por ejemplo, nombres de variables) para la minificación en HTML, que están presentes en CSS y JavaScript. Gran parte del contenido de HTML es el contenido de la página, que probablemente no se pueda minimizar (y, como han señalado otros, seguramente variará con más frecuencia que su CSS o JS).

+4

tenga en cuenta que la mayoría de las veces, minify css o javascript incluyen la fusión de archivos que no se pudieron hacer con el archivo html por las razones que usted brinda. –

7

No creo que haya mucho espacio para la minificación en HTML: puede eliminar espacios en blanco y saltos de línea, pero esencialmente, eso es todo sin entrar realmente en la estructura de la página.

La minificación de JS puede acortar los nombres de variables y funciones, probablemente la mayor ganancia neta en términos de espacio guardado. Con su conjunto fijo de etiquetas, HTML no ofrece esa posibilidad.

La opción de gzipping HTML probablemente elimine gran parte de la necesidad de minimizar de todos modos, especialmente porque normalmente está habilitada para HTML, mientras que (innecesariamente) no siempre es para los tipos de archivos CSS y JS.

47

Supongo que la mayoría de los sitios tienen CSS estático y Javascript. Esto significa que se pueden minimizar una vez cada vez que se actualicen. Por otro lado, HTML tiende a generarse dinámicamente, lo que significa que debe ser minimizado en cada solicitud de página, lo cual es considerablemente más costoso que la minimización de CSS estáticos y archivos Javascript.

+4

mejor respuesta imo. –

+3

Los sitios web estáticos solo deberían minimizarse una vez. Pero, además, html generado dinámicamente también se minimizaría fácilmente. Cuando se crea el contenido html, no se debe insertar el espacio en blanco en primer lugar. De hecho, sería más rápido producir html sin espacio en blanco. –

3

El contenido html que se comprime se encarga de la mayor parte de la compresión, lo que minimiza además de eso no lograría mucho o ahorraría una gran cantidad de ancho de banda.

Javascript se puede minimizar como parte de la compilación, la única forma de que esto ocurra con todo el contenido HTML sería minimizar cada pieza (¿y si se genera?) O minimizarla todo el tiempo (pesadilla al trabajo en?)

Su costo vs beneficio, costo: ancho de banda marginal, beneficio: más fácil de trabajar, más fácil de generar, más fácil de depurar, bastante en mi ventana de vista de fuente.

5

Principalmente porque los archivos Javascript y las hojas de estilo CSS a menudo son archivos estáticos que no se modificarán durante la implementación. El marcado, por otro lado, a menudo se genera sobre la marcha (con aplicaciones web basadas en bases de datos, al menos), y el número de "páginas" suele ser grande y dinámico, lo que hace que los beneficios de la minificación sean más importantes de lo que vale.

Cuestiones relacionadas