¿Qué es la compresión Brotli?

Brotli es un algoritmo de compresión que presume de tiempos de compresión más rápidos y una mayor compresión de las páginas web que su predecesor GZIP.
Es de código abierto, de uso gratuito y ya está soportado por los servidores web y navegadores modernos.

En el alojamiento de 10Web, brotli está activado por defecto.
Veamos algunas de las ventajas de utilizar la compresión brotli.

Finalidad, uso y eficacia

Brotli fue desarrollado originalmente por Google en 2013 para comprimir fuentes web y ganó popularidad en 2015 al centrarse más en la compresión de flujos HTTP.La mayoría de los servidores web modernos ya admiten el uso de Brotli como formato de compresión.

Una de las características que ayudan a Brotli a aumentar su eficacia de compresión es que utiliza un diccionario predefinido de palabras de uso común.
Esto reduce la cantidad de datos porque tanto el servidor como el cliente disponen de este diccionario.

Compresión Brotli vs. GZIP

Tanto brotli como GZIP reducen el tamaño de las páginas haciendo los archivos más pequeños.
Archivos más pequeños significan tiempos de carga de página más rápidos.

Destacado Brotli GZIP
Algoritmos de compresión Brotli utiliza codificación LZ77 y Huffman y un diccionario estático predefinido. GZIP utiliza LZ77 y codificación Huffman.
Rendimiento de compresión Por término medio, Brotli produce archivos 1,19 veces más pequeños que GZIP.
Según el nivel de compresión y el conjunto de datos, Brotli puede ser más rápido o más lento que GZIP
En el nivel máximo de compresión, los archivos GZIP, por término medio, son mayores que los comprimidos con Brotli.
En cuanto a la velocidad, hay casos en los que GZIP es más rápido que Brotli.
Ayuda Brotli es compatible con la mayoría de los principales servidores y navegadores.
Apache admite módulos preconstruidos, pero Nginx requiere que el usuario construya el módulo.
Amplia adopción desde los años 90.
Compatible con los principales servidores web y navegadores.
Tanto Nginx como Apache tienen módulos integrados.

 

Cloudflare tiene un desglose en profundidad de su pruebas comparativas.

Compresión estática frente a compresión dinámica

Al servir datos comprimidos, la compresión estática y la compresión dinámica son dos formas de servir los datos comprimidos.
Brotli puede utilizarse tanto para la compresión dinámica como para la estática.

La compresión dinámica se produce cuando un archivo se comprime sobre la marcha.
Un servidor web recibe una petición, y el archivo solicitado se comprime antes de enviarlo.

La compresión estática se produce cuando los archivos del disco están precomprimidos.
Esto evita tener que comprimir el archivo en cada petición, ahorrando tiempo de CPU.

Cómo comprobar la compresión brotli

Hay muchas formas sencillas de determinar si la compresión brotli está activada en tu servidor web.

Prueba de compresión Brotli en línea

Una excelente herramienta en línea es https://www.giftofspeed.com/GZIP-test/.
Do not let the name of the URL dissuade you.
This tests for both GZIP and Brotli.
Enter the URL in question; the test will return if compression is enabled for Brotli or another method.

Comprueba el encabezado HTTP

El comando cURL comprueba si un servidor está habilitado correctamente.
En el comando siguiente, las opciones -L se utiliza para seguir posibles redirecciones (301, 302), y la -H envía la cabecera, haciendo saber al servidor que esta solicitud puede aceptar la codificación GZIP.

curl -LH "Accept-Encoding: br" -I http://website.com

La respuesta debe contener algo similar a lo siguiente.

codificación del contenido: br

Cómo activar la compresión brotli

Tanto Apache como Nginx soportan la compresión brotli.
Al principio, Apache tiene una mejor adopción de brotli porque ya tiene un módulo construido para brotli.
Nginx requiere un poco más de trabajo para configurarlo.

Nginx

Hay dos formas de activar brotli en un servidor Nginx.
Si eres suscriptor de Nginx+, existe un módulo brotli compatible preconstruido y listo para usar.
Puedes leer más sobre cómo configurar este módulo en
Sitio web de Nginx.El segundo método consiste en compilar los módulos brotli para tu versión de Nginx a partir del código fuente proporcionado en GitHub.Tras instalar los módulos brotli, puedes añadir las dos secciones siguientes a nginx.conf.Añade las siguientes líneas cerca de la parte superior del archivo.

load_module modules/ngx_http_brotli_filter_module.so; load_module modules/ngx_http_brotli_static_module.so; 

Añade lo siguiente dentro de la sección HTTP del archivo.

brotli on; brotli_comp_level 6; brotli_static on; brotli_types application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype application/x-font-ttf application/x-javascript application/xhtml+xml application/xml font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;  

Apache

Apache tiene un módulo brotli compatible que se empaqueta con Apache tanto en sistemas basados en CentOS como en Debian.

CentOS Red Hat

En una máquina CentOS o Red Hat, el módulo brotli ya está cargado en el archivo /etc/httpd/conf.modules.d/00-base.conf .Añade lo siguiente al archivo httpd.conf .

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript 

Ubuntu / Debian

Activar el módulo brotli

# a2enmod brotli Activar el módulo brotli.
Para activar la nueva configuración, debes ejecutar: systemctl restart apache2 

En el archivo de configuración /etc/apache2/sitios habilitados/000-default.conf añade lo siguiente dentro del campo <VirtualHost> etiquetas.

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript

Alojamiento web

Comprueba con tu proveedor de alojamiento si admite la activación de la compresión brotli.
El soporte dependerá del tipo de alojamiento que estés utilizando.

Cómo implementar la compresión brotli en WordPress

Activar la compresión brotli en un sitio web WordPress depende de la capacidad del servidor para soportar brotli.

La capacidad de admitir compresión varía en función del tipo de alojamiento que tengas.
Consulta la documentación de ayuda de tu proveedor para ver cómo activar la compresión brotli.

Si tu proveedor de alojamiento no admite brotli, una forma popular de añadir compresión brotli a tu sitio web es a través de la CDN de Cloudfare.
Una vez configurado, puedes activar brotli en el panel de control de Cloudflare, en la pestaña «Velocidad».