2011-12-30 24 views
5

Empecé a preguntarme cuál es el impacto general del uso de espacios en blanco para sangrar documentos html.Sobrecarga de indentación de espacio en blanco HTML

¿Por qué no usar pestañas para sangrar? ¿No sería más rentable esto: 1 char (\ t) vs. ejemplo 4 chars (espacios)?

Experimenté poco al convertir una asp.net-página para usar pestañas y comparé los tamaños de las marcas renderizadas. Al reemplazar solo un espacio en blanco de una vista parcial, se redujo la página de 22kb a 19,4kb -> eso es un 12% de reducción. Al cambiar toda la sangría, la página terminó asignando 16,7kb, ¡reducción del 24%! (herramientas chrome dev usadas y Fiddler para verificar)

¿Mi razonamiento suena? ¿Deberían utilizarse las pestañas primarias para la sangría de HTML? ¿Hay alguna razón para usar espacios (como la compatibilidad con navegadores exóticos)?

ps. Stackoverflow parece usar espacios también. La conversión de la página principal SO para usar pestañas dio una reducción del 9%. ¿Es esta observación válida? Si es así, ¿por qué no han usado pestañas?

+1

'\ t' es en realidad un char. –

+2

No tiene en cuenta la compresión: cuando está activada, estas diferencias son mucho menores. – Oded

+1

y no usar pestañas de eventos reducirá el tamaño de la página. html no tiene un concepto de sangría. los programadores hacen sangría. los sitios realmente optimizados no usan pestañas ni espacios. – BigMike

Respuesta

5

StackOverflow utiliza HTTP Compression - cuando se activa, las diferencias entre el uso de espacios en comparación con las pestañas disminuye - mucho.

Necesita run your tests contra las versiones comprimidas para obtener resultados fiables.

Sin embargo, tiene un punto para los casos en que un navegador no admite los esquemas de compresión que admite el servidor.

+1

Gracias por proporcionar una respuesta sólida. Esta ha sido una buena experiencia de aprendizaje. Del artículo de wikipedia que vinculó: "Los ingenieros de Google Arvind Jain y Jason Glasgow afirman que más de 99 personas-año se desperdician diariamente debido a que el tiempo de carga de la página aumenta cuando los usuarios no reciben contenido comprimido" – Fdr

2

Lo primero: html no tiene una regla de sangrado. Lo hacen los programadores para la legibilidad del código y la estructura del programa. Más que nunca Podemos reducir el tamaño tomado por las indentaciones y los espacios en blanco por compresión.

Minificar/comprimir/comprimir HTML: compactando el código HTML, puede guardar muchos bytes de datos y acelerar la descarga, el análisis y el tiempo de ejecución.

Stackoverflow utiliza compresión HTTP

minifying HTML tiene los mismos beneficios que los de minifying CSS y JS: reducir la latencia de la red, la mejora de la compresión, y una carga más rápida del navegador y ejecución. Además, HTML frecuentemente contiene código JS en línea (en etiquetas) y CSS en línea (en etiquetas), por lo que es útil minimizarlos también.

Nota: Esta regla es experimental y actualmente se centra en la reducción de tamaño en lugar de en la formación estricta de HTML. Las versiones futuras de la regla también tendrán en cuenta la corrección. Para obtener más información sobre el comportamiento actual, consulte la wiki de Page Speed.

Consejo: Al ejecutar Page Speed ​​contra un archivos HTML página de referenciación, se ejecuta automáticamente el compactador página HTML velocidad (que a su vez aplicar JSMin y cssmin.js a cualquier línea de JavaScript y CSS) en los archivos y guarda la salida minificada en un directorio configurable.

Consulte: http://code.google.com/speed/page-speed/docs/payload.html#MinifyHTML

Cuestiones relacionadas