En este artículo vamos a continuar explorando posibilidades de configuración de nuestro servidor web Apache, también por medio de un archivo .htaccess, que es la manera más sencilla y al alcance de un mayor número de personas. En concreto vamos a mostrar cómo definir en una sola instrucción que se compriman todos los archivos menos las imágenes.
Quizás alguno de vosotros se pregunte ¿Por qué no comprimimos las imágenes? Y es que realmente, como ya habíamos señalado en este manual, las imágenes ya están comprimidas, puesto que los archivos gráficos utilizados en web tienen todos un nivel de compresión. Por lo tanto, comprimir un GIF con GZIP no tendrá prácticamente mejora alguna, pues el peso del archivo comprimido será prácticamente el mismo que el GIF original. Además, representará un esfuerzo para el procesador del servidor web, que tendrá que comprimir esos archivos antes de enviarlos al cliente. Al final, el rendimiento del servidor puede verse reducido, por tener que comprimir todas las imágenes, y realmente no habremos adelantado en nada, puesto que las imágenes ocuparán casi el mismo espacio en KB. Esto ocurre con cualquier tipo de archivo gráfico, no sólo con los GIF, sino con otros utilizados para hacer webs, como JPG o PNG.
Por ejemplo, con esta línea de código comprimiríamos todos los archivos de texto plano:
AddOutputFilterByType DEFLATE text/plain
Si deseamos, podemos comprimir todos los archivos HTML con esta línea de código en el htaccess.
AddOutputFilterByType DEFLATE text/html
A continuación podemos ver una serie de líneas con distintos tipos de medios que se están indicando para comprimir:
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
Con este método, Apache será lo suficientemente inteligente para enviar los archivos comprimidos sólo para los navegadores que soportan esa optimización y nosotros no tenemos que hacer nada para que todo funcione correctamente.
De entre los dos métodos GZIP / DEFLATE podemos elegir cualquiera de ellos. Deflate es bastante rápido y compatible con más versiones de navegadores antiguos.
Recordar que en artículo anterior ya explicamos otro método para conseguir comprimir en función de la extensión del archivo. También será de utilidad en este punto conocer algún método para saber si nuestra web está enviando los archivos comprimidos.