Flujo Brotli (.brotli)
IETF EstándarBrotli es un algoritmo de compresión de datos sin pérdida de código abierto desarrollado por Google, optimizado específicamente para la tipografía web (WOFF2) y la codificación de contenido HTTP (Content-Encoding: br) para acelerar la entrega de páginas de Internet.
Convertir de BROTLI a GZIP
Convertidor gratuito de BROTLI a GZIP en el navegador. Convierte archivos al instante en tu dispositivo.
Inspeccionar y metadatos
Los sistemas operativos y analizadores de archivos identifican los archivos de Brotli inspeccionando la secuencia de bytes binarios inicial:
Firma de cabecera a nivel de bytes (Bytes mágicos)
Los sistemas operativos y analizadores de archivos identifican los archivos de Brotli inspeccionando la secuencia de bytes binarios inicial:
FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):
CE B2 CF 81REPRESENTACIÓN ASCII: βÏ\x81
Estandarización: IETF RFC 7932
Especificaciones técnicas
| Arquitectura del contenedor | Estructura de flujo de bits sin procesar con declaración opcional de tamaño de ventana y metabloques |
| Compresión | Diccionario deslizante LZ77 (hasta 16 MB), modelado de contexto de segundo orden y diccionario estático de 120 KB |
| Orden de bytes (Endianness) | Empaquetado de bits de pequeño-extremo |
| Espacios de color | N/D (Flujo de compresión de datos) |
| Canales y estructura | Compresión de flujo de bytes de propósito general |
| Dimensiones máximas | Longitud de flujo de bytes arbitraria (admite transmisión sin límites) |
| Transparencia | Preservación de datos de viaje redondo exacto byte por byte sin pérdida |
| Streaming y progresivo | La fragmentación de metabloques permite la transmisión continua de transferencia fragmentada HTTP |
Matriz de comparación técnica: Brotli frente a la competencia
| Atributo técnico | Brotli (Actual) | GZ | ZSTD | DEFLATE |
|---|---|---|---|---|
| Diccionario estático integrado | Diccionario web de 120 KB incluido | Ninguno (solo dinámico) | Diccionarios entrenables por el usuario | Ninguno (solo dinámico) |
| Compresión web (vs Gzip) | 15% - 25% más pequeño que Gzip | Estándar base (Gzip) | 10% - 20% más pequeño que Gzip | Deflate base |
| Codificación de contenido HTTP | 'Content-Encoding: br' | 'Content-Encoding: gzip' | 'Content-Encoding: zstd' | 'Content-Encoding: deflate' |
| Objetivo de diseño principal | Transmisión de texto web y fuentes web | Compresión de archivos Unix generales | Base de datos en tiempo real e ingesta de datos | Algoritmo de compresión fundamental |
Modos de corrupción comunes y guía de recuperación hexadecimal
El navegador no puede cargar el recurso con 'ERR_CONTENT_DECODING_FAILED'.
Causa raíz: El proxy o servidor truncó el flujo de Brotli antes de que se transmitiera el metabloque final.
Recuperación: Borre la caché del navegador, verifique la configuración de compresión del servidor o descomprima localmente a través de File2File.
Análisis de seguridad y vectores de ataque al analizador
El diccionario estático y el modelado de contexto de Brotli requieren rigurosas comprobaciones de límites de memoria contra referencias posteriores mal formadas.
Vectores de ataque conocidos
- Lectura de puntero fuera de límites al hacer referencia a desplazamientos de diccionarios estáticos más allá del tamaño de la tabla.
- Bomba de descompresión (equivalente a bomba zip) que agota la memoria del cliente a partir de cargas útiles diminutas.
- Desbordamiento de búfer durante el redimensionamiento del búfer circular de la ventana deslizante.
Mejores prácticas defensivas: Hacer cumplir tamaños máximos de búfer de salida durante la descompresión de flujos de Brotli no confiables.
Orígenes históricos e hitos
Ventajas clave y pros
- Relación de compresión de 15% a 25% mejor que Gzip en recursos web HTML, CSS y JavaScript.
- Incorpora un diccionario estático predefinido de 120 KB de palabras web comunes, etiquetas HTML y frases.
- Velocidad de descompresión extremadamente rápida, lo que garantiza un renderizado de páginas del lado del cliente casi instantáneo.
Limitaciones técnicas y contras
- La compresión en el nivel 11 es computacionalmente costosa (más adecuada para la precompresión de recursos estáticos).
- Requiere HTTPS en todos los navegadores web para evitar la corrupción de proxies transparentes.
- Los archivos .br sin procesar carecen de cabeceras de nombre de archivo o permisos incrustados sin una contenedorización externa.
Curiosidades técnicas interesantes
- Brotli lleva el nombre de 'Brötli', que significa 'panecillo' en alemán suizo.
- El diccionario estático de 120 KB dentro de Brotli contiene miles de fragmentos comunes en inglés, español, alemán, chino y HTML.
- Más del 95% del tráfico moderno de Internet en Cloudflare, Fastly y Google se entrega utilizando la compresión Brotli.
Preguntas técnicas frecuentes
¿Por qué Brotli es más rápido que Gzip para sitios web?
Brotli comprime archivos HTML, CSS y JS un 20% más pequeños que Gzip mientras se descomprime a velocidades similares, lo que reduce la cantidad de viajes redondos requeridos a través de redes celulares.
¿Por qué Brotli requiere HTTPS?
Los navegadores web solo admiten Brotli a través de conexiones HTTPS seguras porque los proxies transparentes heredados en Internet malinterpretarían o corromperían la nueva codificación 'br'.
¿Cómo puedo descomprimir un archivo .br?
Puede descomprimir archivos .br o .brotli en texto plano o archivos originales al instante usando File2File.app directamente en su navegador web.