Tempo de leitura: 3 minutos

A compressão de arquivos no seu servidor web é uma técnica essencial para otimizar a performance do seu site, reduzindo significativamente o tempo de carregamento e economizando largura de banda tanto para você quanto para seus visitantes.

Enquanto o GZIP tem sido o padrão por muitos anos, o algoritmo Brotli desenvolvido pelo Google oferece taxas de compressão superiores, especialmente para arquivos de texto como HTML, CSS e JavaScript, podendo melhorar drasticamente a experiência do usuário.

O que é compressão Brotli e por que implementá-la

Brotli é um algoritmo de compressão de dados desenvolvido pela Google que oferece uma taxa de compressão significativamente melhor que o GZIP, com uma redução de tamanho de arquivo cerca de 15-25% superior. Isso se traduz diretamente em carregamentos mais rápidos e economia de banda.

A compressão Brotli funciona de maneira semelhante ao GZIP, compactando os arquivos antes de enviá-los do servidor para o navegador do usuário, que então os descompacta para exibição. A diferença está na eficiência do algoritmo.

“Nossos testes mostram que o Brotli consegue uma taxa de compressão de 20 a 26% melhor que o Gzip. Menores tamanhos de arquivo resultam em carregamentos de página mais rápidos.” – Equipe de desenvolvimento do Chrome da Google

Como verificar se o Brotli está ativo no seu site

Existem várias maneiras de verificar se seu site está utilizando compressão Brotli. Vamos explorar os métodos mais práticos:

  1. Usando as ferramentas de desenvolvedor do navegador: Abra seu site, pressione F12, vá para a aba “Network” (Rede), recarregue a página e verifique o cabeçalho “Content-Encoding” nas requisições. Se mostrar “br”, o Brotli está ativo.
  2. Ferramentas online: Sites como KeyCDN Brotli Test ou Gift of Speed podem testar rapidamente se seu site suporta Brotli.
  3. Linha de comando: Use curl para verificar os cabeçalhos de resposta:
    curl -I -H “Accept-Encoding: br” https://seusite.com

Implementando a compressão Brotli no seu servidor

A implementação do Brotli varia dependendo do seu servidor web. Vamos ver como configurar nos servidores mais comuns:

Para Apache

1. Primeiro, verifique se o módulo Brotli está disponível para seu Apache. Você precisará instalar:

sudo apt-get install brotli
sudo a2enmod brotli

2. Adicione ao seu arquivo .htaccess ou à configuração do VirtualHost:

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript application/json application/xml

Para Nginx

1. Compile o Nginx com suporte ao módulo Brotli ou instale um módulo de terceiros:

git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli && git submodule update –init

2. Adicione à sua configuração do Nginx:

brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

Para IIS (Windows Server)

1. Instale o módulo IIS Brotli:

2. Configure no seu web.config:

“A implementação do Brotli pode reduzir o tamanho dos arquivos de texto em até 26% a mais que o GZIP, resultando em economia significativa de largura de banda e tempos de carregamento mais rápidos.” – Ilya Grigorik, Engenheiro de Performance Web do Google

Testando a eficiência da compressão

Após implementar o Brotli, é importante verificar se está funcionando corretamente e qual o ganho real de performance:

  1. WebPageTest: Use o WebPageTest para analisar o tempo de carregamento antes e depois da implementação.
  2. Google PageSpeed Insights: Verifique se o PageSpeed Insights detecta a compressão adequada.
  3. GTmetrix: O GTmetrix fornece análises detalhadas sobre a compressão do seu site.

Compatibilidade com navegadores

O suporte ao Brotli é excelente nos navegadores modernos, incluindo:

  • Chrome (desde a versão 49)
  • Firefox (desde a versão 44)
  • Edge (desde a versão 15)
  • Safari (desde a versão 11)
  • Opera (desde a versão 36)

Para navegadores mais antigos que não suportam Brotli, seu servidor deve automaticamente reverter para GZIP ou nenhuma compressão, garantindo compatibilidade.

Otimizando a configuração do Brotli

Para obter o máximo benefício do Brotli, considere estas práticas recomendadas:

  1. Nível de compressão adequado: O Brotli oferece níveis de 0 a 11. Níveis mais altos proporcionam melhor compressão, mas consomem mais recursos do servidor. Para conteúdo estático, use níveis 10-11; para conteúdo dinâmico, 4-6 é um bom equilíbrio.
  2. Compressão prévia: Para arquivos estáticos, pré-comprima-os com Brotli e armazene-os no servidor para evitar compressão em tempo real.
  3. Tipos de arquivo corretos: Aplique Brotli principalmente a arquivos de texto (HTML, CSS, JavaScript, JSON, XML). Não comprima arquivos já compactados como imagens, vídeos ou PDFs.

Usando Brotli com CDNs

Se você utiliza uma CDN (Content Delivery Network), verifique se ela suporta Brotli. Muitas CDNs modernas já oferecem suporte nativo:

Conclusão: Balanceando Brotli e GZIP

O ideal é implementar tanto Brotli quanto GZIP no seu servidor. Isso garante que você ofereça a melhor compressão possível (Brotli) para navegadores modernos, enquanto mantém a compatibilidade (GZIP) com navegadores mais antigos.

A implementação correta de ambos os algoritmos pode resultar em uma redução significativa no tempo de carregamento do seu site, melhorando a experiência do usuário e potencialmente beneficiando seu SEO, já que a velocidade da página é um fator de classificação para o Google.

Lembre-se de testar regularmente sua configuração para garantir que está funcionando conforme o esperado e que você está obtendo os benefícios máximos da compressão.

Conseguiu implementar o Brotli no seu servidor? Quais melhorias de performance você notou após a implementação? Compartilhe sua experiência ou dúvidas adicionais.

Avatar de Rafael P.

Perguntas Frequentes

Quais são as principais vantagens da compressão Brotli em relação ao GZIP?

A compressão Brotli oferece taxas de compressão até 25% melhores do que o GZIP, o que significa que os arquivos comprimidos são menores e, portanto, levam menos tempo para serem transferidos pela rede. Além disso, Brotli proporciona descompressão mais rápida e consome menos recursos de CPU, o que resulta em um desempenho superior, especialmente em dispositivos móveis.

Em quais cenários a compressão Brotli é mais eficaz?

Brotli é especialmente eficaz em cenários onde a taxa de transferência de dados é crítica, como em aplicações web e serviços de streaming. Ele é especialmente vantajoso para conteúdo estático, como arquivos HTML, CSS e JavaScript, onde a compressão adicional pode resultar em tempos de carregamento significativamente mais rápidos para os usuários.

A implementação da compressão Brotli é complicada?

A implementação da compressão Brotli é relativamente simples, especialmente em servidores web modernos que já suportam Brotli. É necessário apenas habilitar a compressão Brotli nas configurações do servidor, e muitos servidores populares, como NGINX e Apache, já oferecem suporte nativo ou por meio de módulos, tornando o processo acessível para desenvolvedores.

Brotli é suportado por todos os navegadores?

Sim, a maioria dos navegadores modernos, como Chrome, Firefox, Safari e Edge, oferece suporte completo à compressão Brotli. Isso garante que os usuários que acessam sites comprimidos com Brotli consigam descomprimir os dados sem problemas, tornando-o uma escolha segura para a compressão de conteúdo web.

Quais são as desvantagens da compressão Brotli em comparação com o GZIP?

Embora Brotli ofereça melhor taxa de compressão, sua principal desvantagem é o tempo de compressão, que pode ser mais lento do que o GZIP, especialmente em níveis de compressão mais altos. Portanto, em situações onde o tempo de compressão é crítico, como em sistemas que exigem resposta imediata, GZIP ainda pode ser preferido. No entanto, para a maioria das aplicações web, os benefícios da Brotli superam essa desvantagem.

O caminho até aqui

Início » Checklist » Otimizações de Performance Avançada » Há compressão Brotli implementada (além de GZIP)?

Somente membros podem interagir com o conteúdo.