Spiga

Posts Tagged ‘ acelaración de descarga

Comprime, comprime

March 27, 08 by Ana Belén Ramón

Jesús Gorriti nos recuerda un buena práctica básica que no puede pasar por algo ningún proyecto web: comprimir los ficheros de texto (html, xml, js, css…) que se envían del servidor al navegador.

La verdad es que es un tema sorprendéntemente poco conocido para lo importantes que es y los beneficios que aporta. Según un pequeño experimento que hicieron en desarrolloweb.com, de 10.000 páginas de prueba sólo un 9′4% tenían configurado esa posibilidad en el servidor. Por suerte, en páginas más grandes la práctica está más extendida, como muestra bien la tabla que se ha currado Gorriti.

Gzip components es la cuarta regla de las 14 que menciona el libro “High Performance Web Sites“, para mejorar el rendimiento del frontend de un sitio web, de Steve Souders (antes Chief Performance de Yahoo!, ahora, según me comenta Jose, trabaja en Google). Recientemente el equipo de FrontEnd de Yahoo ha añadido 20 consejos más a la lista.

La idea es que el servidor le envíe los ficheros al navegador comprimidos (con lo cual se pueden quedar hasta en un 70% de su tamaño original) y éste los descomprima en local para mostrarlos. Obviamente la idea reduce increiblemente el tiempo de la transmisión de los ficheros, por lo que ahorramos en ancho de banda y reducimos el tiempo de carga de la página.

Si un navegador puede recibir contenido comprimido (un 90% lo hacen) se lo indica al servidor al hacer la llamada HTTP (Accept-Encoding: gzip). Si el servidor está preparado para servir el contenido comprimido (y esto es lo que depende de tí), se lo envía entonces en gzip.

Como herramienta para testear si tu servidor está enviando los ficheros comprimidos con Gzip Yahoo creó un plugin de Firefox: Yslow. En realidad el plugin tiene un montón más de funcionalidades para testear todas las reglas propuestas en el libro de Souders.

Si te interesa el tema, Joaquín Cuenca escribió hace poco un artículo (parte 1 y parte 2) bastante práctico con consejos para acelerar la descarga de páginas web.