944 063 154

Mejora la velocidad de tu web con compresión GZIP

Publicado enDesarrollo y Programación en agosto 4, 2021 10:00 am

Para mejorar la velocidad de una web es necesario hacer dos cosas: eliminar todos los recursos que no son necesarios y activar la compresión GZIP. En función del tipo de web o del contenido que se ofrezca es posible que no se puedan eliminar los suficientes archivos como para que la web sea más rápida. Por ello, activando la compresión GZIP en el servidor podremos reducir los tiempos de carga.

¿Qué es la compresión de datos?

Se trata del proceso mediante el que se reducen los archivos de una web, de forma que al transmitir la información se haga de una forma más eficiente. En función del tipo de datos existen diferentes formas de comprimir la información.

Por ejemplo, para minificar HTML, CSS o JavaScript se comprime el código eliminando todos los caracteres que no son necesarios, como espacios en blanco o comentarios. Aunque esto dificulta la legibilidad del código para una persona, el navegador no tiene problemas en procesarlo; además de que así puede procesar la información en menos tiempo. Si utilizas WordPress, esto es una funcionalidad que incluyen por defecto la mayoría de los plugins de rendimiento.

A pesar de que minificar el código sea una forma de comprimir, la compresión como tal va más allá; ya que los algoritmos de compresión pueden reducir aún más el tamaño de los datos. Uno de los mecanismos más conocidos y utilizados para comprimir datos es la compresión GZIP. Este método favorece una transmisión eficiente de los datos, permitiendo que internet pueda funcionar de forma más ágil.

La compresión GZIP

GNU Zip, o GZIP, es una forma de compresión de datos sin pérdidas, de forma que es posible reducir el tamaño de todos los elementos de una web sin que con ello se pierda información o funcionalidades. Basada DEFLATE, la compresión GZIP coge la información en bruto y reduce al máximo el tamaño de todos esos archivos.

Para ello, primero se buscan patrones para eliminar los datos redundantes mediante el algoritmo LZ77; a continuación, se sustituyen las cadenas repetidas por una lista de elementos o tupla. Esa información se comprimirá aún más con el algoritmo de codificación Huffman, que asigna menos bits a los elementos que más se repiten, dejando más bits a los caracteres únicos o menos redundantes. Con estos datos se crea el llamado árbol de Huffman, este sitúa en la zona más alta los valores más repetidos que tienen un valor igual al de resto de caracteres que forman la cadena.

A partir del árbol se generará el código de Huffman que consiste en convertir las ramas en 0 y 1 y trazar los caminos, desde la raíz a las hojas, uniendo todos los números. Esto genera códigos binarios que pueden variar en función de las frecuencias, lo que no se altera es el tamaño de la secuencia.

¿Qué aporta la compresión GZIP?

De media se estima que la compresión GZIP permite reducir el peso en un 70%. En el caso de archivos de texto de gran tamaño es posible comprimir el 90%. Hay que tener en cuenta que no todos los archivos pueden reducirse de forma significativa e incluso es posible que su tamaño aumente. Por ejemplo, en el caso de imágenes o vídeos, pueden incluso aumentar su tamaño como consecuencia de la compresión GZIP.

La compresión GZIP es indispensable en los proyectos en los que la velocidad es básica. Así, además de favorecer la velocidad de carga, los recursos necesarios para comprimir y descomprimir un archivo son mínimos. Otra gran ventaja de GZIP es el escaso uso de memoria que tiene, haciendo que sea una buena opción incluso en servidores con pocos recursos. Asimismo, al tratarse de una opción opensource, la compresión GZIP se utiliza en un 82% de los sitios web.

Además de ser un método de compresión de datos en internet, GZIP es también la extensión que permite la compresión y el software necesario para comprimir y descomprimir estos archivos. Si está activado, el navegador comprobará si el servidor dispone de esta opción, en caso afirmativo los descomprimirá y automáticamente mostrará al usuario los archivos de menor tamaño. De no estar activado, el navegador descargará los archivos “originales” lo que puede aumentar el tiempo de carga en varios segundos.

Puedes comprobar si la compresión GZIP está activada realizando una consulta a Google PageSpeed Insights, GTmetrix, Pingdom Tools. Si dispones de conocimientos técnicos también puedes consultar la cabecera HTTP.

Finalmente, ten en cuenta que, aunque todos los navegadores incluyen soporte para compresión GZIP por defecto, es necesario configurar correctamente el servidor. De otra forma es posible que puedan producirse errores o que la mejora no sea tal por la incompatibilidad de los elementos.