Fluxo Brotli (.br)
IETF PadrãoBrotli é um algoritmo de compactação de dados sem perdas e de código aberto, desenvolvido pelo Google. Ele foi otimizado para fontes da web (WOFF2) e para a codificação de conteúdo HTTP (Content-Encoding: br), acelerando a entrega de páginas na internet.
Converter BROTLI para GZIP
Conversor gratuito de BROTLI para GZIP no navegador. Converta arquivos instantaneamente no seu dispositivo.
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos Brotli pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos Brotli pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):
CE B2 CF 81REPRESENTAÇÃO ASCII: βÏ\x81
Padronização: IETF RFC 7932
Especificações técnicas
| Estrutura do contêiner | Enquadramento de fluxo de bits bruto, com declaração opcional do tamanho da janela e metabloco |
| Compressão | Dicionário deslizante LZ77 (de até 16 MB), modelagem de contexto de segunda ordem e dicionário estático de 120 KB |
| Ordem dos bytes (endianness) | Empacotamento de bits em ordem little-endian |
| Espaços de cor | Não se aplica (fluxo de compactação de dados) |
| Canais e Estrutura | Compressão de fluxo de bytes de uso geral |
| Dimensões Máximas | Comprimento arbitrário do fluxo de bytes (compatível com processamento em fluxo sem limite) |
| Transparência | Preserva os dados sem perdas, com correspondência exata byte a byte após a descompactação |
| Streaming e Progressivo | A divisão em metabloco permite a transferência contínua de dados em blocos por HTTP |
Matriz de comparação técnica: Brotli e formatos concorrentes
| Atributo técnico | Brotli (Atual) | GZ | ZSTD | DEFLATE |
|---|---|---|---|---|
| Dicionário estático incorporado | Inclui dicionário web de 120 KB | Nenhum (apenas dinâmico) | Dicionários treináveis pelo usuário | Nenhum (apenas dinâmico) |
| Compressão Web (em comparação com Gzip) | 15% - 25% menor que o Gzip | Padrão de referência (Gzip) | 10% - 20% menor que o Gzip | Deflate de referência |
| Codificação de Conteúdo HTTP | 'Content-Encoding: br' | 'Content-Encoding: gzip' | 'Content-Encoding: zstd' | 'Content-Encoding: deflate' |
| Objetivo principal | Transferência de texto e fontes da web | Compactação geral de arquivos Unix | Bancos de dados em tempo real e ingestão de dados | Algoritmo fundamental de compactação |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
O navegador falha ao carregar o recurso com 'ERR_CONTENT_DECODING_FAILED'.
Causa principal: O proxy ou o servidor truncou o fluxo Brotli antes de transmitir o metabloco final.
Recuperação: Limpe o cache do navegador, confira as configurações de compactação do servidor ou descompacte o arquivo localmente com o File2File.app.
Análise de segurança e vetores de ataque a analisadores
O dicionário estático e a modelagem de contexto do Brotli exigem verificações rigorosas dos limites de memória para evitar referências retroativas malformadas.
Vetores de ataque conhecidos
- Leitura de ponteiro fora dos limites ao acessar deslocamentos no dicionário estático além do tamanho da tabela.
- Bomba de descompactação que esgota a memória do dispositivo a partir de arquivos minúsculos.
- Estouro de buffer ao redimensionar o buffer circular da janela deslizante.
Melhores práticas defensivas: Limite o tamanho máximo do buffer de saída ao descompactar fluxos Brotli não confiáveis.
Origens históricas e marcos
Principais vantagens
- Compacta arquivos HTML, CSS e JavaScript da web de 15% a 25% mais do que o Gzip.
- Inclui um dicionário estático predefinido de 120 KB com palavras, tags HTML e expressões comuns na web.
- A descompactação é muito rápida, permitindo que as páginas sejam renderizadas quase instantaneamente no dispositivo do usuário.
Limitações técnicas e desvantagens
- A compactação no nível 11 exige muito processamento e é mais adequada à pré-compactação de arquivos estáticos.
- Exige HTTPS em todos os navegadores para evitar que proxies transparentes corrompam os dados.
- Arquivos .br brutos não incluem cabeçalhos com nomes de arquivo ou permissões sem um contêiner externo.
Curiosidades técnicas
- O nome Brotli vem de Brötli, que significa "pãozinho" em alemão suíço.
- O dicionário estático de 120 KB do Brotli contém milhares de fragmentos comuns em inglês, espanhol, alemão, chinês e HTML.
- Mais de 95% do tráfego atual da internet em serviços da Cloudflare, Fastly e Google é entregue com compactação Brotli.
Perguntas técnicas frequentes
Por que o Brotli é mais rápido que o Gzip em sites?
O Brotli gera arquivos HTML, CSS e JavaScript 20% menores que o Gzip e os descompacta em velocidade semelhante. Assim, reduz o número de viagens de ida e volta em redes celulares.
Por que o Brotli requer HTTPS?
Os navegadores só aceitam Brotli em conexões HTTPS seguras, pois proxies transparentes antigos poderiam interpretar incorretamente ou corromper a nova codificação br.
Como posso descomprimir um arquivo .br?
Você pode descompactar arquivos .br ou .brotli em texto simples ou nos arquivos originais instantaneamente no navegador, usando o File2File.app.