Cloudflare Brotli compression: il successore di Gzip per HTTP

Cloudflare Brotli compression: il successore di Gzip per HTTP

Brotli è l'algoritmo di compressione moderno sviluppato da Google nel 2015, pensato come successore di Gzip per il web. Su Cloudflare è attivabile con un singolo toggle e fornisce compressione mediamente del 15-25% migliore rispetto a Gzip a parità di CPU. Il risultato è meno banda consumata, tempi di trasferimento ridotti e migliori metriche Core Web Vitals. Brotli è ormai supportato da tutti i browser moderni e dovrebbe essere abilitato su qualsiasi sito.

Brotli vs Gzip in numeri

Su un'HTML medio da 100KB Gzip riduce a circa 25KB, Brotli a circa 20KB. Su file JavaScript più grandi il vantaggio è più marcato: 500KB con Gzip diventano 110KB, con Brotli 85KB. Il livello di compressione Brotli va da 0 a 11; Cloudflare usa livelli intermedi che bilanciano CPU server e ratio. Il decompresso è leggermente più CPU-intensive lato browser ma impercettibile sui device moderni.

Procedura passo-passo

  1. Vai sul dashboard Cloudflare → Speed → Optimization → Content Optimization.
  2. Trova la voce Brotli.
  3. Attiva il toggle.
  4. Salva: la modifica è immediata.
  5. Verifica con curl -H "Accept-Encoding: br" -I https://tuosito.it.
  6. Conferma che il response header sia content-encoding: br.
  7. Su DevTools → Network controlla la colonna Size: dovrebbe essere più piccola.
  8. Esegui un test PageSpeed Insights pre/post.
  9. Verifica eventuali problemi con client legacy non-browser (vecchi API consumer).
  10. Per siti già minificati massimizza l'effetto attivando Auto Minify + Brotli insieme.

Compatibilità browser

Brotli è supportato dal 2017 da Chrome, Firefox, Edge, Safari (iOS 11+), Opera, Samsung Internet. La copertura globale dei browser è superiore al 97% (caniuse.com). Internet Explorer 11 non supporta Brotli e riceve Gzip fallback automaticamente: Cloudflare riconosce l'Accept-Encoding del client e serve il formato appropriato. I bot tipo Googlebot supportano Brotli da anni.

Quale contenuto comprime Brotli

Cloudflare applica Brotli ai content-type testuali: text/html, text/css, text/javascript, application/javascript, application/json, application/xml, image/svg+xml, font/ttf, font/otf, application/wasm. Non comprime file già compressi (image/jpeg, image/png, video/mp4) perché sarebbe controproducente: la doppia compressione aumenta il peso. WebP e AVIF sono anch'essi binary già compressi e non vengono ulteriormente toccati.

Errori comuni e come risolverli

  • Header content-encoding non presente: cache vecchia. Forza Purge Everything.
  • Client API che decompressano manualmente: alcuni client custom non supportano Brotli. Devono dichiarare Accept-Encoding: gzip o aggiungere libreria brotli.
  • Origine già comprime: doppia compressione è impossibile, ma alcuni proxy intermedi possono interferire.
  • Performance non migliorate: il sito già usa Gzip livello 9 ottimizzato. Il guadagno aggiuntivo è marginale.
  • Bytes contate doppie in analytics: alcuni analytics tracker misurano size non-compressed. Normale.

Brotli sull'origine vs Cloudflare

Idealmente Brotli dovrebbe agire sia sul tratto Cloudflare-utente sia sul tratto origine-Cloudflare. Cloudflare gestisce automaticamente il primo tratto. Per il secondo configura Nginx con brotli_static on o Apache con mod_brotli. Cloudflare riceverà file Brotli direttamente, evitando di doverli ricomprimere. Risparmio CPU sull'edge e accelerazione complessiva.

Misurare il risparmio

Per misurare il vero risparmio confronta WebPageTest con Disable Brotli simulato. Usa Chrome DevTools → Network e attiva "Disable cache" + "Slow 3G" per simulare reti reali. Su un sito WordPress test misurato: pagina home con Gzip = 285KB transferred, con Brotli = 213KB. Riduzione 25%, LCP migliorato di 400ms su connessione 3G. Su 100k pageview/mese sono GB di banda risparmiati.

Domande frequenti

D: Brotli ha controindicazioni?
R: No pratiche. CPU server leggermente maggiore per comprimere ma Cloudflare lo gestisce.

D: Si combina con cache?
R: Sì, Cloudflare cache file Brotli pre-compressi per servirli istantaneamente.

D: Posso disattivare Brotli per debug?
R: Sì con Page Rule "Disable Performance" o toggle Brotli Off.

D: Brotli è gratuito?
R: Sì, incluso su tutti i piani Cloudflare anche Free.

Considerazioni operative finali

Quando applichi una configurazione di questo tipo in produzione è sempre buona norma seguire un'approccio incrementale: parti con un test su staging, monitora gli effetti per qualche giorno, poi estendi gradualmente al traffico live. La rete Cloudflare elabora ogni cambiamento in pochi secondi a livello globale, quindi le modifiche sono effettive quasi immediatamente, ma gli effetti collaterali su utenti reali possono richiedere ore o giorni per emergere. Annota nel runbook interno data, motivo e parametri di ogni modifica significativa. Una documentazione precisa accelera enormemente il troubleshooting futuro e facilita il passaggio di consegne tra membri del team.

Vale anche la pena ricordare che Cloudflare aggiorna frequentemente l'interfaccia del dashboard e le posizioni delle voci di menu. La logica e le funzionalità descritte in questa guida restano valide, ma il percorso esatto per raggiungere ogni opzione può variare leggermente nel tempo. In caso di difficoltà a trovare una specifica voce, utilizza la barra di ricerca interna del dashboard oppure consulta la documentazione ufficiale aggiornata. La community Cloudflare sul forum ufficiale e su Stack Overflow è inoltre molto attiva e offre spesso risposte rapide a problemi specifici di configurazione.

Per progetti complessi che coinvolgono più servizi Cloudflare contemporaneamente (CDN, Workers, WAF, Access, R2) conviene strutturare la configurazione come codice tramite Terraform o Pulumi. Questo permette versioning, code review, rollback atomici e deploy ripetibili tra environment. Per team con esigenze più semplici la gestione manuale via dashboard resta perfettamente valida, soprattutto se accompagnata da una checklist scritta delle impostazioni applicate. La scelta dell'approccio dipende dalle dimensioni del progetto e dal grado di automazione desiderato. L'importante è essere consistenti e mantenere tracciabilità delle modifiche effettuate.

Hai bisogno di aiuto?

Se vuoi configurare Cloudflare per il tuo sito con il team di G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?