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!
0 comentarios:
Publicar un comentario