Compresión gzip sobre http para mejorar la velocidad

Si tienes tu propio servidor esto quizás pueda interesarte para consumir menos ancho de banda, o en mi caso, que las páginas al servirlas, ocupen menos y por tanto se carguen más rápido. Una técnica conocida desde hace tiempo pero que no he probado hasta ahora debido a que no me había entrado curiosidad hasta que haciendo un programilla descubrí que diciéndole a cierto servidor que yo era IE y que aceptada compresión gzip, me devolvía la página comprimida.

Buscando por ahí, encontré el modo de hacerlo en apache (gracias a lo cual haré antes pruebas en mi servidor antes de seguir con el programa).

A continuación pongo la receta rápida para debian (puede haber errores, pues cogí la configuración de forma muy rápida para una web que lo usaba bajo redhat antiguo, pero mirando el manual de apache, vi que la forma de dar la configuración básica no había cambiado, así que probé y funcionó):

Como root ejecutar (se considera debian + apache2, en apache 1.3 simplemente activar el mod_deflate y poner misma configuración):

ln -s /etc/apache2/mods-available/deflate.load /etc/apache2/mods-enabled/
nano /etc/apache2/mods-avaiable/deflate.load

Pegar lo siguiente al final del archivo (que solo tiene una línea en el momento de abrirlo).

Activamos compresion para contenido texto

AddOutputFilterByType DEFLATE text/html text/plain text/css
SetInputFilter DEFLATE
DeflateFilterNote ratio

Desactivamos compresion para imagenes, ejecutables y archivos comprimidos

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .pdf$ no-gzip dont-vary

Cabecera necesaria con algunos Proxys

Header append Vary User-Agent env=!dont-vary

Y luego el clásico:

/etc/init.d/apache2 restart

Ale, ya está mejor aprovechado el ancho de banda, que si tenéis poco upload viene de maravilla: Nota: a menos que tengáis un procesador rápido, puede aumentar la carga de CPU hasta en un 30% según dicen las malas lenguas.