dominios y alojamiento web en hostalia

.htaccess para comprimir con GZIP todo menos las imágenes

18 de agosto de 2010
Valoración del artículo:
Cómo podemos crear un archivo .htaccess para configurar Apache y pedirle que envíe todos los archivos, menos las imágenes, comprimidas con GZIP.
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Después de haber leído el Manual de compresión con GZIP de un sitio web ya debemos tener una idea sobre las ventajas de comprimir las páginas y otros recursos antes de enviarlos al navegador. Además, hemos conocido ya diversos métodos de fácil configuración para conseguir esa compresión GZIP en las páginas PHP y otros archivos externos como JS o CSS.

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.

Instrucción htaccess para comprimir un tipo de medio

Existe un comando que se inserta en el código de los htaccess que sirve para definir la compresión GZIP / DEFLATE. El comando se llama AddOutputFilterByType y tenemos que indicarle luego el tipo de compresión y el tipo de medio que deseamos comprimir.

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.

Compartir en redes sociales

Comentarios
Fueron enviados 2 comentarios al artículo
2 comentarios no revisados
0 comentarios revisados

Manuales relacionados
Categorias relacionadas
El autor
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...