Resumo Rápido (TL;DR)
Brotli e Gzip são algoritmos de compressão sem perdas usados na entrega de arquivos textuais. Brotli costuma alcançar uma proporção de compressão melhor em muitos cenários, mas a diferença depende do conteúdo, do nível escolhido, do cache, do navegador e do custo de processamento.
Quando uma pessoa acessa um site, o navegador pode precisar receber HTML, CSS, JavaScript e outros recursos. Servir arquivos textuais sem compressão pode aumentar os bytes transferidos; o impacto depende do tamanho dos recursos, da rede, do dispositivo e de outras etapas do carregamento.
A técnica de embalar arquivos a vácuo para a web
Pense na compressão de arquivos no servidor de hospedagem como o ato de embalar roupas a vácuo para uma viagem internacional. Se você colocar as roupas soltas dentro da mala, ela ficará cheia rapidamente e será pesada para carregar. Ao retirar o ar de dentro dos pacotes, você reduz drasticamente o espaço físico ocupado, sem alterar as peças de roupa.
Na web, o processo é semelhante. Os servidores utilizam tecnologias como o Gzip e o Brotli para compactar os arquivos de código antes de enviá-los pela rede. O navegador descomprime a resposta antes de utilizá-la. Uma compressão eficiente pode reduzir os bytes transferidos, mas a experiência final também depende de servidor, rede, cache, processamento do navegador e peso dos demais recursos.
O que é o Algoritmo Brotli?
Desenvolvido pelo Google, o Brotli é um algoritmo de compressão sem perdas que combina técnicas como LZ77, codificação de Huffman e modelagem de contexto. Na web, ele pode ser negociado como a codificação br para respostas compatíveis.
Como configurar a compressão HTTP no seu servidor
A configuração deve considerar o tipo de recurso, os algoritmos aceitos pelo navegador, o cache e o custo de compressão. Brotli pode reduzir mais bytes em muitos arquivos textuais, mas não deve ser tratado como uma melhoria automática de Core Web Vitals ou como substituto de outras otimizações.
Verificar suporte no servidor
Verifique se o servidor ou a CDN oferece Brotli e se a resposta varia conforme o cabeçalho `Accept-Encoding`. Confirme o resultado no cabeçalho `Content-Encoding` da resposta.
Definir níveis de compactação
Ajuste o nível de compressão para equilibrar tamanho transferido, tempo de CPU, cache e frequência de atualização. Conteúdo estático armazenável em cache pode aceitar uma estratégia diferente de respostas dinâmicas.
Configurar fallbacks de segurança
Mantenha Gzip como fallback quando a negociação ou a compatibilidade exigirem. A escolha deve ser feita pelo servidor de acordo com o que o navegador informa em `Accept-Encoding`.
Reduzir bytes transferidos pode ajudar a eficiência da entrega, mas deve ser analisado junto do TTFB, do carregamento dos recursos, da interatividade e das condições reais de uso.
Se quiser conversar sobre carregamento, hospedagem e entrega de recursos, conheça as soluções ou compartilhe o contexto na página de contato.
| Característica técnica | Gzip | Brotli |
|---|---|---|
| Eficiência de compressão | Boa compressão para muitos recursos textuais e ampla compatibilidade | Pode alcançar arquivos menores em muitos cenários, dependendo do conteúdo e do nível |
| Custo de processamento | Pode ser adequado para respostas dinâmicas e fallback | A compressão pode exigir mais processamento, especialmente em níveis altos; avalie cache e frequência de atualização |
| Compatibilidade | Suporte amplo; pode funcionar como fallback | Compatível com navegadores modernos; mantenha fallback conforme o público e a infraestrutura |
Para confirmar se a compressão está ativa, observe no painel de rede do navegador o tamanho transferido e os cabeçalhos Content-Encoding e Vary. Evite comprimir novamente formatos que já usam compressão própria, como muitas imagens, áudios e vídeos.