Por qué el algoritmo de compresión de Google "Brotli" es una alternativa real a gzip

Tobias Schüring Última actualización 05.11.2020
5 min.
Última actualización 05.11.2020

¿Quién quiere hornear panecillos más pequeños? Todos los profesionales WordPress que quieran entregar su sitio web lo antes posible. Desde hace algún tiempo, una tecnología llamada Brotli es muy popular. En este artículo explicamos cómo esta hace que tus sitios web sean más rápidos y qué tiene que ver con Suiza.

Actualmente existen diferentes métodos de compresión. Durante mucho tiempo, gzip fue el estándar, pero ahora un nuevo algoritmo de compresión llamado Brotli lo está superando. Y con razón. Para garantizar que tu sitio web WordPress también esté al día en términos de compresión, Brotli es ahora el estándar en RAIDBOXES, pero empecemos por el principio.

El 1 x 1 en términos de compresión de datos

La compresión de datos es una técnica que reduce al máximo el espacio de almacenamiento de datos. Esto tiene una gran ventaja: cuanto menor sea el volumen consumido, menor será el tiempo de transmisión.

La reducción del tamaño se consigue condensando o reduciendo los datos. En principio, la información se convierte en una forma más corta que consume menos espacio de almacenamiento.

La compresión y el desempaquetado son dos procesos, pero el resultado final es que siguen siendo más rápidos que la simple transferencia de grandes cantidades de datos.

Google como «panadero» de Brotli

El anterior estándar de compresión en internet era gzip. Esta compresión funciona con un algoritmo llamado Deflate que consiste en una combinación de la técnica LZ77 y la codificación Huffman. Deflate existe desde 1993 y se ha convertido en el estándar absoluto para transmisiones HTTP.

Pero esto no fue suficiente para Google. En su interminable esfuerzo por mejorar internet, el gigante de Silicon Valley desarrolló hace unos años el algoritmo Zopfli (llamado así por tener el nombre de una especie de bollo de levadura con forma de trenza típico en Suiza). Zopfli utiliza una técnica similar a la de Deflate y también es compatible con su formato de datos, pero ya presenta algunas mejoras.

Probablemente esto no fue suficiente para los técnicos de Google, porque mientras tanto existe Brotli, designación que que reciben panecillos típicos suizos.

Brotli es un algoritmo de código abierto que, según Google, representa un formato de datos completamente nuevo. La compatibilidad con Deflate ha terminado, pero Brotli aporta algunas otras ventajas.

Gzip vs Brotli: ¿Quién gana el maratón?

Entonces, ¿cuál es el ahorro que supone Brotli respecto al proceso estándar de gzip? Los informes muestran una clara ventaja:

  • Para HTML, Brotli ahorra un 21% más de memoria que gzip.
  • En el caso de JavaScript, la cifra es del 14%.
  • El CSS se almacena un 17% más pequeño con Brotli que con gzip.

En principio, la diferencia de velocidad entre la transferencia de datos comprimidos y sin comprimir ya es muy grande. Gzip ya ahorra bastante espacio de almacenamiento en comparación con la situación inicial. Brotli va más allá, aunque los números no parezcan un ahorro masivo en comparación con gzip.

Brotli ofrece ventajas especialmente para páginas en dispositivos móviles

Los dispositivos móviles y las tarifas de datos se benefician especialmente de la compresión. En este caso, el ancho de banda disponible suele ser mucho menor, por lo que incluso un 20% de ahorro supone una experiencia de usuario significativamente mejor. Los servidores y dispositivos web pueden ser bastante rápidos a estas alturas, pero no siempre internet.

Dado que cada vez más usuarios/as acceden a los sitios web sobre la marcha y, por tanto, se benefician del menor tamaño de los archivos Brotli (por ejemplo, a través de un menor uso de la batería y una menor tasa de transmisión), Google espera que el algoritmo se convierta en el nuevo estándar en el futuro.

Restricciones de Brotli

A pesar de estas ventajas, Brotli no es un «super-pan». Probablemente también porque el algoritmo es bastante joven (Google lo introdujo en septiembre de 2015), todavía hay que aceptar una o dos limitaciones.

Una configuración precisa es importante

Sin embargo, el ahorro de tamaño de los archivos no es la única referencia con la que debe medirse un método de compresión. Al fin y al cabo, lo que se pretende es mejorar el rendimiento de tus webs. La velocidad con la que se comprime y descomprime la información también es un aspecto importante. Al fin y al cabo, esto es lo que determina la rapidez con la que el/la visitante del sitio web ve los resultados.

Una configuración errónea entre el ahorro de memoria y la velocidad de conversión puede hacer que gzip sea incluso más rápido que Brotli. De hecho, tanto gzip como Brotli tienen varios niveles de calidad (gzip nueve y Brotli once).

Así que es cuestión de afinar lo que se quiere conseguir con tu configuración. Los resultados de las pruebas muestran que Brotli en el nivel 4 ahorra más memoria y funciona incluso ligeramente más rápido que gzip en el nivel 6.

Brotli solo funciona bajo HTTPS

Brotli solo funciona bajo conexiones HTTPS, pero, honestamente, desde que Google ha anunciado oficialmente que el uso de HTTPS es una señal de clasificación, deberías cambiar a SSL muy pronto de todos modos, sobre todo porque HTTP2 proporciona un aumento adicional del rendimiento. Esta es solo una de las muchas razones por las que en RAIDBOXES ofrecemos SSL gratuito con un clic por defecto desde el principio.

Brotli es perfecto para el contenido estático

Otro punto conflictivo que se discute a menudo es la compresión de los contenidos dinámicos. Un repaso rápido:

  • Los contenidos dinámicos solo se generan de forma individual tras tu demanda, por ejemplo, si quiere mostrar solo las entradas de determinadas categorías en un blog o seleccionar camisas de una determinada marca en una determinada talla en una tienda online utilizando la función de filtro. Por supuesto, el contenido solo se comprime una vez haya sido generado.
  • Los contenidos estáticos, en cambio, ya están comprimidos en el servidor y se entregan a todos los usuarios de la misma manera.

El quiz de la cuestión cuando se comprimen contenidos dinámicos: mientras el servidor está ocupado comprimiendo el contenido, el/la usuario/a no ve nada, solo cuando la compresión ha terminado, se entregan los datos. Y cuanto mejor sea la compresión, más tiempo se necesita. Incluso con tasas de compresión bajas, la compresión dinámica ya puede limitar el rendimiento. En cambio, los contenidos estáticos, que ya están comprimidos, pueden entregarse en un abrir y cerrar de ojos cuando un/a usuario/a los solicita.

En la práctica, se hizo evidente que Brotli es más eficaz para contenidos estáticos si el algoritmo se configura en consecuencia. Sin embargo, para los contenidos dinámicos, muchos/as operadores/as de sitios web siguen prefiriendo gzip. Otros/as sostienen que Brotli también puede estar a la altura de gzip para contenidos dinámicos.

No todos los navegadores son compatibles con Brotli

En cuanto a los servidores, NGINX y Apache (a partir de la versión 2.5) soportan Brotli. Sin embargo, todavía no todos los navegadores son compatibles con Brotli. En caniuse.com puede averiguar qué navegadores admiten Brotli como estándar de compresión.

Por qué el algoritmo de compresión de Google Brotli es una alternativa real a gzip
Fuente: https://caniuse.com/brotli

Los/as usuarios/as de Internet Explorer, por ejemplo, todavía tienen que prescindir de Brotli por el momento, pero la buena noticia es que el contenido seguirá llegando a estos/as usuarios/as: aquí, gzip se activa automáticamente. Así que no tienes que preocuparse de que tus visitantes no vean nada más.

Dado que al menos en muchos países de Europa con Chrome y Firefox ya está cubierto más del 70 por ciento del mercado, se puede suponer de todos modos que una gran parte de los visitantes de tu sitio web ya pueden beneficiarse de Brotli.

Conclusión

Ahorrar espacio de almacenamiento, ofrecer sitios web más rápidamente y aumentar el rendimiento: estamos encantados de formar parte de ello. En mi opinión, las ventajas son evidentes. Clientes/as de RAIDBOXES ya se están beneficiando hoy: Brotli está incorporado de serie en los servidores.

Como administrador de sistemas, Tobias vigila nuestra infraestructura y encuentra cada tornillo para optimizar el rendimiento de nuestros servidores. Debido a sus incansables esfuerzos, a menudo se le puede encontrar por la noche en Slack.

Artículos relacionados

Comentarios sobre este artículo

Escribe un comentario

Tu dirección de correo electrónico no se publicará. Los campos obligatorios están marcados con *.