?id=ebc74c2a-08ee-416f-844e-44516674260f
Compresión de páginas ASP y ASPX
por José M. Alarcón
Cuando estamos escasos de ancho de banda para una aplicación Web puede resultar beneficioso comprimir las peticiones que se hagan al servidor, de forma que los archivos estáticos (imágenes, HTML...) y las páginas se envíen a los usuarios ocupando mucho menos tamaño.
En realidad en el caso de las imágenes no se ahorra demasiado ya que éstas son comprimidas por su propia naturaleza (todos los formatos de Internet, GIF, JPEG y PNG, incorporan ya compresión). Sin embargo si nos referimos a las páginas ASP y ASPX la compresión puede ayudar bastante puesto que al estar constituidas fundamentalmente por texto el grado de compresión que se alcanza es muy grande. Muchas páginas conocidas, como por ejemplo Google, utilizan la compresión de archivos para devolver sus resultados a los navegadores que soportan compresión (lo indican en las cabeceras que envían al servidor).
Para habilitar la compresión de respuestas en IIS 5.0 o superior sólo hay que ajustar dos claves de la metabase. Los pasos a seguir son muy sencillos:
1.- Detenga el servidor IIS (manualmente con el comando Net Stop w3svc)
2.- Desde la línea de comandos vaya a la carpeta adminScripts ubicada normalmente en c:\InetPub y escriba las dos órdenes siguientes (primero una y luego la otra):
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions "asp" "dll" "exe" "aspx"
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions "asp" "dll" "exe" "aspx"
3.- Reinicie el servidor Web (manualmente o con Net Start w3svc)
A partir de ahora las peticiones a archivos ASP o ASPX se procesarán y se comprimirán antes de enviarlas al usuario si su navegador lo soporta.
De todos modos hay que tener en cuenta una consideración de rendimiento importante, y es que la compresión se realiza en memoria para todas y cada una de las páginas cuando se solicitan. En el caso de archivos estáticos (como .HTM) la compresión se realiza una vez y se almacena en un directorio temporal para reutilizarla. Esto no se puede hacer para páginas dinámicas puesto que éstas, a priori, devuelven un resultado distinto cada vez que se solicitan. Por ello la compresión añade una carga adicional al servidor que debemos tener en cuenta sobre todo en el caso de servidores que reciben muchas visitas. Esto es como casi todo en la vida: tiene ventajas a costa de ciertos inconvenientes. Si nuestra prioridad es ahorrar ancho de banda porque andamos sobrados de procesador no habrá ningún problema. Si también tenemos el servidor muy cargado mejor buscar una opción alternativa, por ejemplo: comprar más ancho de banda ;-)
José Manuel Alarcón Aguín
Fundador de
campusMVP.es, el
proyecto de referencia en formación on-line para programadores en lengua española.
Autor de varios libros y cientos de artículos. Galardonado como
MVP de Microsoft desde 2004. Gallego de Vigo, amante de la ciencia y la
tecnología, la música y la lectura. Ayudando a la gente en Internet desde 1996.