Gzip ou Brotli: qual recebem os seus visitantes, e porque pode variar

Gzip e Brotli são dois modos de comprimir texto (HTML, CSS, JavaScript, JSON) antes de ele viajar. O Brotli costuma dar ficheiros mais pequenos; o gzip é mais antigo e entendido por tudo. Quem escolhe é o servidor, em função do que o navegador diz saber, e por isso dois visitantes diferentes podem receber versões diferentes da mesma página. Não há nada a configurar na sua conta: aqui a compressão está ligada. Este artigo explica como se vê qual foi usada. Para confirmar que está ligada e medir o ganho, veja compressão: confirmar que está ligada.

Como a escolha é feita

1 O navegador envia o cabeçalho Accept-Encoding com a lista do que sabe descomprimir, por exemplo gzip, deflate, br.
2 O servidor escolhe um e devolve o cabeçalho Content-Encoding a dizer qual: gzip ou br.
3 O navegador descomprime. O visitante nunca vê nada disto.

Porque é que podem ser diferentes

Situação O que acontece
Site aberto por http (sem cadeado) Os navegadores só anunciam o Brotli em HTTPS. Em http recebem gzip.
Site atrás de um serviço como o Cloudflare Quem comprime é o serviço, com as suas regras. A resposta pode ser br mesmo que o servidor de origem desse gzip.
Ficheiros muito pequenos Pode não valer a pena comprimir, e o servidor deixa-os de fora.
Imagens, vídeos, ZIP, PDF Já são formatos comprimidos. Comprimir de novo não ganha nada, e não se faz.
Dois plugins a comprimir Podem comprimir duas vezes ou entrar em conflito. Um só chega.

Ver e comparar, passo a passo

1 No navegador: F12, separador Network, clique na linha da página e veja nos cabeçalhos da resposta o content-encoding.
2 Na linha de comandos, peça cada versão e compare os bytes recebidos: curl -s -H "Accept-Encoding: gzip" -o /dev/null -w "%{size_download}\n" https://seudominio.tld/. Repita trocando gzip por br (e por identity para o tamanho sem compressão). Se a sua versão do curl não suporta Brotli, não faz mal: o servidor responde na mesma, e o curl só conta os bytes.
3 Confirme que não há conflito: se só um dos pedidos devolve content-encoding, o outro caminho não está a comprimir. Diga-nos qual.
O painel do cPanel “Optimize Website” não é onde isto se liga. Mexer nele não altera o que o servidor faz. Está explicado em compressão: confirmar que está ligada, e medir o que ganhou.
Não vale a pena discutir gzip contra Brotli. Em páginas normais a diferença entre os dois é pequena ao lado da diferença entre ter compressão e não ter, e ao lado do peso das imagens. Se a sua página pesa muito, o culpado quase nunca é o texto: veja optimização de imagens e WebP.

Nenhum dos pedidos devolve content-encoding e a página é de texto? Envie-nos o endereço exacto e o resultado do curl.

Abrir um pedido de suporte

VEJA TAMBÉM

Compressão: confirmar que está ligada, e medir o que ganhou

HTTP/2 e HTTP/3: como ver qual o seu site usa

Cache do navegador com .htaccess

Planos de hospedagem e o que cada um inclui

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde $6.60/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?