Comprimir Recursos

La optimización de un sitio es un trabajo un tanto arduo. ¿Porqué?, sencillo: porque no existe una fórmula mágica sino que hay que analizar que es lo que sucede de trasfondo y actuar en base a ello. Es por esto que cada "pequeña acción" que podamos realizar va a aportar al resultado final.

La compresión de recursos estáticos es una de estas pequeñas acciones a llevar a cabo, y entender el porqué es claro: es necesario disminuir al máximo el número de peticiones y/o el tamaño de los archivos que se envian. La compresión se encarga de esto último, el contenido es comprimido antes de enviarlo al navegador.

La herramienta por excelencia para esto se llama gzip: es una abreviatura de GNU ZIP, por lo que es catalogado como "Software Libre" y su popularidad se debe a que es soportado por la gran mayoría de los navegadores y su efectividad es muy alta.

En la actualidad la mayoría de los navegadores soportan dos formatos de compresión: "gzip" y "deflate", y esto se puede ver en la propiedad "Accept-Encoding" de la petición realizada.

Para ver esto pueden usar alguna de las herramientas que aquí menciono: Link

La compresión se aconseja en archivos que sean de texto: HTML, CSS, Javascript. No asi en imágenes, ya que estan viajan comprimidas y seria contraproducente para el rendimiento del servidor, ya que en ocasiones puede consumir muchos recursos, lo cual es particularmente malo si el sitio se encuentra hospedad en una cuenta de alojamiento compartido.

[*] Usar gzip en Apache 1.3*: En este caso la compresión gzip es manejada por el módulo "mod_gzip". Para ello se pueden utilizar las sentencias "mod_gzip_item_include" para incluir archivos a comprimir y "mod_gzip_item_exclude" para excluir archivos. Luego editamos el archivo ".htaccess" e incluimos el siguiente código:


mod_gzip_on Yes
mod_gzip_item_include file \.html$
mod_gzip_item_include file \.php$
mod_gzip_item_include file \.css$
mod_gzip_item_include file \.js$

mod_gzip_item_include mime ^application/javascript$
mod_gzip_item_include mime ^application/x-javascript$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include handler ^application/x-httpd-php

mod_gzip_item_exclude mime ^image/.*


[*] Usar gzip en Apache 2.*: En este caso la compresión es gestionada por el módulo "mod_deflate". Para comprimir los archivos podemos utilizar la sentencia "AddOutputFilterByType" de la siguiente forma:

AddOutputFilterByType DEFLATE text/html text/css application/x-javascript

Saludos y que lo disfruten!

Bookmark and Share

0 comentarios:

Publicar un comentario