Salta al contenuto

Brotli e Gzip: compressione web e controlli

Pubblicato il Aggiornato il

In breve: Brotli e Gzip riducono il peso delle risposte testuali. Il client dichiara gli algoritmi supportati con Accept-Encoding e il server o CDN risponde con Content-Encoding . Verifica HTML, CSS e JavaScript; non comprimere di nuovo immagini e archivi già compressi e non attivare più livelli senza controllare gli header.

Brotli e Gzip: differenze

Entrambi comprimono la risposta HTTP prima del trasferimento e il browser la decomprime. Brotli può produrre file testuali più piccoli in molte condizioni; Gzip mantiene una compatibilità molto ampia. La scelta avviene per ogni richiesta in base a ciò che il client dichiara.

Non serve creare manualmente due versioni delle pagine se server o CDN gestiscono la compressione dinamica. Per asset statici precompressi la configurazione deve associare correttamente file, encoding e tipo MIME.

Quali contenuti comprimere

Sono buoni candidati HTML, CSS, JavaScript, JSON, XML, SVG e testo. JPEG, PNG, WebP, AVIF, video, PDF, ZIP e altri formati già compressi spesso ottengono poco beneficio e possono consumare CPU inutilmente.

Il server decide anche in base a tipo di contenuto e dimensione minima. Una risposta molto piccola può restare non compressa perché gli header e il lavoro di compressione supererebbero il vantaggio.

Verificare dal browser

  1. Apri gli strumenti sviluppatore e la scheda Network.
  2. Ricarica la pagina.
  3. Seleziona il documento HTML o un file CSS/JavaScript.
  4. Negli header di risposta cerca Content-Encoding: br oppure gzip.
  5. Confronta dimensione trasferita e dimensione della risorsa.
  6. Controlla la presenza di Vary: Accept-Encoding quando necessaria per le varianti.

Prova una risorsa testuale, non soltanto un’immagine. La dimensione mostrata dal browser può includere cache o protocollo, quindi usa richieste equivalenti e disattiva temporaneamente la cache DevTools se devi confrontare.

Verificare con curl

Per consentire a curl di negoziare e decomprimere automaticamente:

curl -sS -D - --compressed -o /dev/null https://esempio.it/

Per richiedere esplicitamente Brotli o Gzip:

curl -sS -D - -H 'Accept-Encoding: br' -o /dev/null https://esempio.it/

curl -sS -D - -H 'Accept-Encoding: gzip' -o /dev/null https://esempio.it/

Controlla Content-Encoding, Content-Type, Content-Length e Vary. Non confrontare il solo Content-Length tra richieste diverse o risposte generate dinamicamente.

CDN e server origine

Con Cloudflare o un altro CDN esistono due collegamenti: origine→CDN e CDN→visitatore. L’encoding consegnato al browser può essere scelto dal CDN anche se l’origine usa un formato diverso.

Per testare l’origine senza disattivare il proxy, un tecnico può usare curl --resolve con IP Xlogic e hostname corretto. Mantieni l’header Host/SNI; interrogare direttamente l’IP può raggiungere il virtual host sbagliato.

Errori e doppia compressione

ERR_CONTENT_DECODING_FAILED può comparire quando body e Content-Encoding non corrispondono, una risposta viene compressa due volte o un proxy modifica il corpo senza aggiornare gli header. Procedi così:

  1. salva URL, data, ora e header della risposta;
  2. prova origine e CDN separatamente;
  3. disattiva una sola funzione di compressione alla volta;
  4. svuota la cache del livello modificato;
  5. ripeti la stessa richiesta con Brotli, Gzip e senza encoding;
  6. riattiva la configurazione funzionante e controlla più tipi di file.

Non aggiungere regole Gzip in .htaccess se LiteSpeed o il CDN gestiscono già correttamente la compressione. Una configurazione duplicata non rende la risposta “più compressa”.

Quando contattare l’assistenza Xlogic

Apri un ticket se le risposte testuali non vengono compresse sul servizio previsto o compare un errore di decodifica. Indica dominio, URL della risorsa, data e ora, presenza di CDN, output degli header per br e gzip, browser e cambiamenti recenti. Non inviare cookie di sessione.

Guide Xlogic correlate

Domande frequenti

Brotli è sempre migliore di Gzip?

Non in ogni situazione. Spesso comprime meglio il testo, ma contano supporto del client, livello di compressione, CPU e configurazione. Gzip resta un fallback molto diffuso.

Devo comprimere anche immagini WebP o archivi ZIP?

Normalmente no. Sono già compressi e un secondo passaggio offre poco beneficio. Concentrati su HTML, CSS, JavaScript, JSON, XML e SVG.

Come verifico quale compressione riceve il browser?

Apri Network nelle DevTools, seleziona una risposta testuale e controlla Content-Encoding. Il valore br indica Brotli, gzip indica Gzip.

Cloudflare e il server possono usare encoding diversi?

Sì. Cloudflare può ricevere una risposta dall’origine e scegliere un encoding diverso verso il visitatore. Verifica separatamente i due collegamenti.

Fonti

Brotli e Gzip: compressione web e controlli ultima modifica: 2026-08-02T16:32:06+02:00 da Team tecnico Xlogic

Ti è piaciuto questo Post?