{"id":19340,"date":"2026-08-29T16:51:39","date_gmt":"2026-08-29T14:51:39","guid":{"rendered":"https:\/\/xlogic.org\/blog\/?p=19340"},"modified":"2026-08-29T17:16:04","modified_gmt":"2026-08-29T15:16:04","slug":"brotli-vs-gzip-2026","status":"publish","type":"post","link":"https:\/\/xlogic.org\/blog\/brotli-vs-gzip-2026.html\/","title":{"rendered":"Brotli vs Gzip nel 2026: differenze e prestazioni"},"content":{"rendered":"<p><strong>Brotli vs Gzip<\/strong>: quale sistema di compressione conviene utilizzare nel 2026 per ridurre il peso di HTML, CSS, JavaScript e degli altri contenuti testuali di un sito web?<\/p>\n<p>La compressione HTTP \u00e8 una delle tecniche pi\u00f9 efficaci per diminuire la quantit\u00e0 di dati trasferiti tra server e browser. Invece di inviare il file originale, il server pu\u00f2 comprimerlo prima della trasmissione e il browser lo decomprime automaticamente una volta ricevuto.<\/p>\n<p>Per molti anni <strong>Gzip<\/strong> \u00e8 stato lo standard pi\u00f9 diffuso. Oggi, per\u00f2, <strong>Brotli<\/strong> \u00e8 supportato dai browser moderni e pu\u00f2 offrire una compressione pi\u00f9 efficiente, soprattutto per HTML, CSS, JavaScript, JSON e altri contenuti testuali.<\/p>\n<p>Questo non significa che Gzip sia diventato inutile.<\/p>\n<p>Nel 2026 la strategia migliore consiste spesso nel supportare entrambi e lasciare che browser e server negozino automaticamente il formato pi\u00f9 adatto.<\/p>\n<h2>Brotli vs Gzip: le differenze principali<\/h2>\n<p>Gzip e Brotli hanno lo stesso obiettivo: ridurre il peso dei dati prima che vengano trasferiti attraverso la rete.<\/p>\n<p>La differenza principale riguarda l&#8217;algoritmo utilizzato e il rapporto tra:<\/p>\n<ul>\n<li>dimensione finale del file;<\/li>\n<li>tempo necessario per comprimere;<\/li>\n<li>utilizzo della CPU;<\/li>\n<li>velocit\u00e0 di decompressione;<\/li>\n<li>compatibilit\u00e0 del client.<\/li>\n<\/ul>\n<p>In termini generali:<\/p>\n<p><strong>Gzip<\/strong> offre un eccellente compromesso tra velocit\u00e0, compatibilit\u00e0 e compressione.<\/p>\n<p><strong>Brotli<\/strong> pu\u00f2 ottenere una compressione migliore, soprattutto sui contenuti testuali, ma ai livelli pi\u00f9 elevati pu\u00f2 richiedere molto pi\u00f9 tempo di CPU durante la fase di compressione.<\/p>\n<h2>Cos&#8217;\u00e8 Gzip<\/h2>\n<p><strong>Gzip<\/strong> \u00e8 un formato di compressione utilizzato da moltissimi anni sul Web.<\/p>\n<p>In ambiente HTTP il browser pu\u00f2 indicare al server di supportare Gzip attraverso l&#8217;header:<\/p>\n<pre><code>Accept-Encoding: gzip<\/code><\/pre>\n<p>Se il server decide di utilizzare questa codifica, restituisce:<\/p>\n<pre><code>Content-Encoding: gzip<\/code><\/pre>\n<p>Il browser riceve il contenuto compresso e lo decomprime automaticamente prima di elaborarlo.<\/p>\n<p>Dal punto di vista dell&#8217;utente non cambia nulla.<\/p>\n<p>La pagina HTML continua a essere visualizzata normalmente, ma il numero di byte trasferiti attraverso la rete pu\u00f2 essere molto inferiore.<\/p>\n<h2>Cos&#8217;\u00e8 Brotli<\/h2>\n<p><strong>Brotli<\/strong> \u00e8 un formato di compressione lossless specificato nella <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc7932.html\" target=\"_blank\" rel=\"noopener\">RFC 7932<\/a>.<\/p>\n<p>\u00c8 stato progettato per ottenere un&#8217;elevata efficienza di compressione attraverso tecniche basate su LZ77, codifica Huffman e altre ottimizzazioni.<\/p>\n<p>Il suo identificatore HTTP \u00e8:<\/p>\n<pre><code>br<\/code><\/pre>\n<p>Un browser moderno pu\u00f2 quindi inviare, ad esempio:<\/p>\n<pre><code>Accept-Encoding: gzip, deflate, br, zstd<\/code><\/pre>\n<p>Se il server sceglie Brotli, la risposta includer\u00e0:<\/p>\n<pre><code>Content-Encoding: br<\/code><\/pre>\n<p>La negoziazione viene gestita automaticamente tramite HTTP.<\/p>\n<h2>Come funziona Accept-Encoding<\/h2>\n<p>Il browser comunica al server quali algoritmi di compressione \u00e8 in grado di utilizzare attraverso l&#8217;header <code>Accept-Encoding<\/code>.<\/p>\n<p>Un esempio moderno pu\u00f2 essere:<\/p>\n<pre><code>Accept-Encoding: gzip, deflate, br, zstd<\/code><\/pre>\n<p>Il server analizza l&#8217;elenco e sceglie una codifica supportata.<\/p>\n<p>La scelta viene poi comunicata attraverso:<\/p>\n<pre><code>Content-Encoding: br<\/code><\/pre>\n<p>oppure:<\/p>\n<pre><code>Content-Encoding: gzip<\/code><\/pre>\n<p>La documentazione <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Reference\/Headers\/Accept-Encoding\" target=\"_blank\" rel=\"noopener\">MDN dedicata ad Accept-Encoding<\/a> descrive questo meccanismo di content negotiation.<\/p>\n<h2>Brotli vs Gzip: tabella di confronto<\/h2>\n<table>\n<thead>\n<tr>\n<th>Caratteristica<\/th>\n<th>Brotli<\/th>\n<th>Gzip<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Identificatore HTTP<\/td>\n<td>br<\/td>\n<td>gzip<\/td>\n<\/tr>\n<tr>\n<td>Compressione<\/td>\n<td>Generalmente molto efficiente<\/td>\n<td>Molto buona<\/td>\n<\/tr>\n<tr>\n<td>Compatibilit\u00e0 browser moderni<\/td>\n<td>Ottima<\/td>\n<td>Eccellente<\/td>\n<\/tr>\n<tr>\n<td>Velocit\u00e0 di compressione<\/td>\n<td>Dipende molto dal livello<\/td>\n<td>Generalmente molto rapida<\/td>\n<\/tr>\n<tr>\n<td>Utilizzo CPU ai livelli massimi<\/td>\n<td>Pu\u00f2 essere elevato<\/td>\n<td>Pi\u00f9 contenuto<\/td>\n<\/tr>\n<tr>\n<td>Contenuti testuali<\/td>\n<td>Eccellente<\/td>\n<td>Eccellente<\/td>\n<\/tr>\n<tr>\n<td>Fallback<\/td>\n<td>Gzip<\/td>\n<td>Identity\/non compresso<\/td>\n<\/tr>\n<tr>\n<td>Uso consigliato nel 2026<\/td>\n<td>S\u00ec<\/td>\n<td>S\u00ec<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Brotli comprime sempre meglio di Gzip?<\/h2>\n<p>Non sempre, ma sui contenuti testuali pu\u00f2 frequentemente ottenere file pi\u00f9 piccoli.<\/p>\n<p>Il risultato dipende da:<\/p>\n<ul>\n<li>tipo di file;<\/li>\n<li>dimensione;<\/li>\n<li>livello di compressione;<\/li>\n<li>contenuto;<\/li>\n<li>implementazione utilizzata;<\/li>\n<li>modalit\u00e0 statica o dinamica.<\/li>\n<\/ul>\n<p>Un file HTML ripetitivo, un grande foglio CSS o un bundle JavaScript possono comprimersi molto bene.<\/p>\n<p>Un file gi\u00e0 compresso, invece, pu\u00f2 beneficiare pochissimo.<\/p>\n<p>La stessa RFC di Brotli descrive un formato progettato per ottenere un rapporto di compressione migliore rispetto a Gzip in numerosi scenari generici.<\/p>\n<h2>Quali file conviene comprimere<\/h2>\n<p>La compressione HTTP \u00e8 particolarmente efficace sui contenuti testuali.<\/p>\n<p>Tra i principali candidati troviamo:<\/p>\n<ul>\n<li>HTML;<\/li>\n<li>CSS;<\/li>\n<li>JavaScript;<\/li>\n<li>JSON;<\/li>\n<li>XML;<\/li>\n<li>SVG;<\/li>\n<li>file di testo;<\/li>\n<li>risposte API;<\/li>\n<li>manifest;<\/li>\n<li>alcuni font, a seconda del formato e della configurazione.<\/li>\n<\/ul>\n<p>Questi contenuti contengono spesso pattern ripetitivi che gli algoritmi possono comprimere molto efficacemente.<\/p>\n<h2>Quali file non conviene comprimere di nuovo<\/h2>\n<p>Un errore comune consiste nell&#8217;attivare la compressione indiscriminatamente su qualsiasi tipo di file.<\/p>\n<p>Immagini, audio, video e archivi sono spesso gi\u00e0 compressi internamente.<\/p>\n<p>Per esempio:<\/p>\n<ul>\n<li>JPEG;<\/li>\n<li>WebP;<\/li>\n<li>AVIF;<\/li>\n<li>MP4;<\/li>\n<li>MP3;<\/li>\n<li>ZIP;<\/li>\n<li>GZIP;<\/li>\n<li>7z.<\/li>\n<\/ul>\n<p>Applicare un&#8217;ulteriore compressione pu\u00f2 produrre un risparmio minimo o nullo, consumando invece CPU sul server.<\/p>\n<p>MDN raccomanda infatti di utilizzare la compressione principalmente sui contenuti che possono realmente beneficiarne, evitando quelli gi\u00e0 compressi come immagini, audio e video.<\/p>\n<h2>Brotli e Gzip non comprimono le immagini come WebP e AVIF<\/h2>\n<p>\u00c8 importante non confondere due concetti differenti.<\/p>\n<p><strong>Brotli e Gzip<\/strong> comprimono la risposta HTTP.<\/p>\n<p><strong>WebP e AVIF<\/strong> sono invece formati immagine progettati specificamente per comprimere contenuti grafici.<\/p>\n<p>Una strategia corretta pu\u00f2 quindi essere:<\/p>\n<pre><code>HTML \u2192 Brotli\r\nCSS \u2192 Brotli\r\nJavaScript \u2192 Brotli\r\nJSON \u2192 Brotli\r\n\r\nImmagini \u2192 WebP \/ AVIF<\/code><\/pre>\n<p>Per approfondire il tema delle immagini puoi leggere la guida Xlogic <a href=\"https:\/\/xlogic.org\/blog\/webp-vs-avif-2026.html\/\"><strong>WebP vs AVIF nel 2026<\/strong><\/a>.<\/p>\n<h2>Compressione statica vs compressione dinamica<\/h2>\n<p>Esistono due strategie principali.<\/p>\n<h3>Compressione dinamica<\/h3>\n<p>Il server riceve la richiesta e comprime la risposta al momento.<\/p>\n<p>Per esempio:<\/p>\n<pre><code>browser richiede style.css\r\n\u2193\r\nserver legge style.css\r\n\u2193\r\nserver comprime\r\n\u2193\r\nserver invia style.css compresso<\/code><\/pre>\n<p>Il vantaggio \u00e8 che non bisogna conservare copie compresse gi\u00e0 pronte.<\/p>\n<p>Lo svantaggio \u00e8 che ogni operazione di compressione utilizza CPU.<\/p>\n<h3>Compressione statica<\/h3>\n<p>Il file viene compresso in anticipo.<\/p>\n<p>Potremmo avere:<\/p>\n<pre><code>style.css\r\nstyle.css.gz\r\nstyle.css.br<\/code><\/pre>\n<p>Quando il browser supporta Brotli, il server pu\u00f2 inviare direttamente:<\/p>\n<pre><code>style.css.br<\/code><\/pre>\n<p>senza doverlo comprimere durante la richiesta.<\/p>\n<p>Questa tecnica permette di utilizzare livelli di compressione pi\u00f9 elevati senza aumentare il carico CPU per ogni visitatore.<\/p>\n<h2>Perch\u00e9 Brotli 11 non \u00e8 sempre la scelta migliore<\/h2>\n<p>Brotli supporta livelli di qualit\u00e0 da <strong>0 a 11<\/strong>.<\/p>\n<p>Aumentando il livello, normalmente aumenta la capacit\u00e0 di compressione ma anche il tempo necessario per generare il risultato.<\/p>\n<p>Il problema diventa evidente con la compressione on-the-fly.<\/p>\n<p>Utilizzare il livello massimo su contenuti dinamici pu\u00f2 richiedere molta pi\u00f9 CPU per ottenere un guadagno relativamente piccolo rispetto a un livello intermedio.<\/p>\n<p>Per questo il principio corretto non \u00e8:<\/p>\n<p><strong>&#8220;Pi\u00f9 alto \u00e8 il livello, migliore \u00e8 sempre la configurazione.&#8221;<\/strong><\/p>\n<p>Bisogna trovare un equilibrio tra:<\/p>\n<ul>\n<li>risparmio di banda;<\/li>\n<li>tempo di compressione;<\/li>\n<li>CPU;<\/li>\n<li>latenza;<\/li>\n<li>tipo di contenuto.<\/li>\n<\/ul>\n<h2>Livelli Gzip<\/h2>\n<p>Gzip, attraverso zlib, utilizza normalmente livelli di compressione compresi tra 0 e 9.<\/p>\n<p>In termini generali:<\/p>\n<pre><code>1 = maggiore velocit\u00e0\r\n9 = maggiore compressione<\/code><\/pre>\n<p>Il livello 0 equivale sostanzialmente all&#8217;assenza di compressione.<\/p>\n<p>Anche in questo caso il livello massimo non \u00e8 necessariamente il migliore per contenuti generati dinamicamente.<\/p>\n<h2>Brotli vs Gzip e utilizzo della CPU<\/h2>\n<p>La compressione non \u00e8 gratuita.<\/p>\n<p>Ridurre il numero di byte trasferiti richiede calcoli.<\/p>\n<p>Il server deve quindi bilanciare:<\/p>\n<p><strong>CPU utilizzata per comprimere<\/strong><\/p>\n<p>contro:<\/p>\n<p><strong>banda e tempo di trasferimento risparmiati.<\/strong><\/p>\n<p>Su contenuti statici molto richiesti \u00e8 spesso conveniente creare versioni precompresse.<\/p>\n<p>Su contenuti dinamici bisogna utilizzare livelli adeguati per evitare che il costo della compressione annulli il beneficio ottenuto sulla rete.<\/p>\n<h2>Brotli e LiteSpeed<\/h2>\n<p><strong>LiteSpeed Web Server<\/strong> supporta sia Gzip sia Brotli per contenuti statici e dinamici.<\/p>\n<p>La documentazione LiteSpeed indica che il web server pu\u00f2 comprimere le risposte con entrambi i formati e permette di configurare separatamente regole e livelli di compressione.<\/p>\n<p>Puoi consultare la <a href=\"https:\/\/docs.litespeedtech.com\/lsws\/cp\/cpanel\/compression\/\" target=\"_blank\" rel=\"noopener\">documentazione ufficiale LiteSpeed sulla compressione<\/a>.<\/p>\n<p>LiteSpeed sottolinea inoltre che livelli di compressione pi\u00f9 elevati riducono maggiormente il traffico, ma utilizzano pi\u00f9 memoria e cicli CPU.<\/p>\n<p>\u00c8 quindi importante configurare la compressione in funzione delle caratteristiche del server e del traffico.<\/p>\n<h2>Xlogic e LiteSpeed Enterprise<\/h2>\n<p>Xlogic utilizza <strong>LiteSpeed Enterprise<\/strong> negli ambienti hosting compatibili.<\/p>\n<p>Questo permette di integrare la compressione HTTP direttamente a livello web server insieme alle altre funzionalit\u00e0 dello stack.<\/p>\n<p>Xlogic \u00e8 inoltre presente nella directory ufficiale dei partner LiteSpeed Technologies.<\/p>\n<p>Per approfondire puoi leggere l&#8217;articolo <a href=\"https:\/\/xlogic.org\/blog\/xlogic-partner-litespeed.html\/\"><strong>Xlogic partner ufficiale LiteSpeed Technologies<\/strong><\/a>.<\/p>\n<h2>Brotli vs Gzip e cache<\/h2>\n<p>Compressione e cache sono due ottimizzazioni differenti.<\/p>\n<p>La cache riduce il lavoro necessario per generare il contenuto.<\/p>\n<p>La compressione riduce invece la quantit\u00e0 di dati trasferiti.<\/p>\n<p>Un sistema ben configurato pu\u00f2 utilizzare entrambe:<\/p>\n<pre><code>pagina generata\r\n\u2193\r\ncache\r\n\u2193\r\ncompressione Brotli\r\n\u2193\r\nbrowser<\/code><\/pre>\n<p>In questo modo il server evita di rigenerare continuamente la pagina e trasferisce anche una quantit\u00e0 inferiore di dati.<\/p>\n<h2>Content-Encoding e cache<\/h2>\n<p>Se una stessa risorsa pu\u00f2 essere inviata in differenti formati compressi, i sistemi di cache devono distinguere correttamente le varianti.<\/p>\n<p>Un client potrebbe supportare:<\/p>\n<pre><code>br<\/code><\/pre>\n<p>mentre un altro potrebbe accettare soltanto:<\/p>\n<pre><code>gzip<\/code><\/pre>\n<p>Per questo le risposte compresse possono utilizzare:<\/p>\n<pre><code>Vary: Accept-Encoding<\/code><\/pre>\n<p>Questo permette alle cache HTTP di conservare correttamente versioni differenti della stessa risorsa in base alle capacit\u00e0 del client.<\/p>\n<h2>Come verificare se un sito usa Brotli<\/h2>\n<p>Il metodo pi\u00f9 semplice consiste nell&#8217;utilizzare gli strumenti di sviluppo del browser.<\/p>\n<p>Su Chrome, Edge e browser simili:<\/p>\n<ol>\n<li>apri il sito;<\/li>\n<li>premi F12;<\/li>\n<li>apri Network;<\/li>\n<li>ricarica la pagina;<\/li>\n<li>seleziona il documento HTML;<\/li>\n<li>apri Response Headers.<\/li>\n<\/ol>\n<p>Se Brotli \u00e8 attivo dovresti vedere:<\/p>\n<pre><code>Content-Encoding: br<\/code><\/pre>\n<p>Se viene utilizzato Gzip:<\/p>\n<pre><code>Content-Encoding: gzip<\/code><\/pre>\n<h2>Come verificare Brotli con curl<\/h2>\n<p>\u00c8 possibile effettuare anche un controllo da terminale.<\/p>\n<p>Per esempio:<\/p>\n<pre><code>curl -I -H \"Accept-Encoding: br\" https:\/\/example.com<\/code><\/pre>\n<p>Se il server supporta Brotli e decide di utilizzarlo, tra gli header dovrebbe comparire:<\/p>\n<pre><code>Content-Encoding: br<\/code><\/pre>\n<p>Per Gzip:<\/p>\n<pre><code>curl -I -H \"Accept-Encoding: gzip\" https:\/\/example.com<\/code><\/pre>\n<h2>Perch\u00e9 curl -I pu\u00f2 non raccontare tutta la storia<\/h2>\n<p>Alcune configurazioni possono trattare diversamente richieste HEAD e GET.<\/p>\n<p>Per una verifica pi\u00f9 completa si pu\u00f2 utilizzare:<\/p>\n<pre><code>curl -s -o \/dev\/null -D - \\\r\n-H \"Accept-Encoding: br\" \\\r\nhttps:\/\/example.com<\/code><\/pre>\n<p>In questo modo curl effettua una normale richiesta GET ma scarta il corpo, mostrando gli header della risposta.<\/p>\n<h2>Brotli vs Gzip e CDN<\/h2>\n<p>Una CDN pu\u00f2 gestire la compressione indipendentemente dal server origin.<\/p>\n<p>Lo schema pu\u00f2 essere:<\/p>\n<pre><code>Browser\r\n\u2193\r\nCDN\r\n\u2193\r\nServer origin<\/code><\/pre>\n<p>Il browser pu\u00f2 ricevere Brotli dalla CDN anche se il server origin utilizza un altro tipo di compressione o invia contenuto non compresso.<\/p>\n<p>Questo significa che quando si analizza la compressione bisogna capire quale componente sta effettivamente generando la risposta osservata.<\/p>\n<h2>Brotli funziona con HTTP\/2?<\/h2>\n<p>S\u00ec.<\/p>\n<p>Brotli \u00e8 un meccanismo di content encoding e non dipende direttamente dalla versione HTTP.<\/p>\n<p>Pu\u00f2 essere utilizzato con connessioni HTTP\/2 e HTTP\/3.<\/p>\n<p>Quindi una configurazione moderna pu\u00f2 essere:<\/p>\n<pre><code>HTTP\/3\r\n+\r\nBrotli\r\n+\r\nWebP \/ AVIF\r\n+\r\ncache<\/code><\/pre>\n<p>Ogni tecnologia interviene su un livello differente.<\/p>\n<p>Per approfondire il protocollo di trasporto puoi leggere la guida Xlogic dedicata a <a href=\"https:\/\/xlogic.org\/blog\/http-3-quic-2026.html\/\"><strong>HTTP\/3 e QUIC nel 2026<\/strong><\/a>.<\/p>\n<h2>Brotli rende automaticamente pi\u00f9 veloce un sito?<\/h2>\n<p>Non necessariamente.<\/p>\n<p>Ridurre il peso di HTML, CSS e JavaScript pu\u00f2 diminuire il tempo di trasferimento.<\/p>\n<p>Ma le prestazioni di un sito dipendono da molti altri fattori:<\/p>\n<ul>\n<li>tempo di risposta del server;<\/li>\n<li>PHP;<\/li>\n<li>database;<\/li>\n<li>cache;<\/li>\n<li>numero di richieste;<\/li>\n<li>JavaScript;<\/li>\n<li>CSS;<\/li>\n<li>font;<\/li>\n<li>immagini;<\/li>\n<li>rete;<\/li>\n<li>latency;<\/li>\n<li>CPU e RAM.<\/li>\n<\/ul>\n<p>Un HTML compresso perfettamente non pu\u00f2 compensare un database che impiega tre secondi per elaborare una query.<\/p>\n<h2>Brotli vs Gzip e Core Web Vitals<\/h2>\n<p>La compressione pu\u00f2 contribuire indirettamente alle performance percepite perch\u00e9 permette di trasferire pi\u00f9 rapidamente le risorse testuali.<\/p>\n<p>Questo pu\u00f2 risultare utile soprattutto per:<\/p>\n<ul>\n<li>CSS critico;<\/li>\n<li>JavaScript;<\/li>\n<li>documento HTML;<\/li>\n<li>grandi file JSON;<\/li>\n<li>risorse utilizzate durante il rendering iniziale.<\/li>\n<\/ul>\n<p>Non bisogna per\u00f2 aspettarsi che l&#8217;attivazione di Brotli risolva automaticamente problemi di LCP, INP o CLS.<\/p>\n<p>Core Web Vitals dipende dall&#8217;intero processo di caricamento e rendering.<\/p>\n<h2>Quando scegliere Brotli<\/h2>\n<p>Brotli \u00e8 particolarmente interessante quando:<\/p>\n<ul>\n<li>il sito utilizza browser moderni;<\/li>\n<li>sono presenti grandi file CSS o JavaScript;<\/li>\n<li>si vogliono ridurre i dati trasferiti;<\/li>\n<li>il server supporta Brotli nativamente;<\/li>\n<li>\u00e8 disponibile una cache delle versioni compresse;<\/li>\n<li>si possono precomprimere gli asset statici.<\/li>\n<\/ul>\n<h2>Quando mantenere Gzip<\/h2>\n<p>Gzip rimane importante come fallback.<\/p>\n<p>\u00c8 utile quando:<\/p>\n<ul>\n<li>il client non supporta Brotli;<\/li>\n<li>la configurazione server non include Brotli;<\/li>\n<li>si utilizzano software legacy;<\/li>\n<li>si privilegia la semplicit\u00e0 operativa;<\/li>\n<li>la differenza di compressione non giustifica maggiore complessit\u00e0.<\/li>\n<\/ul>\n<p>Non esiste quindi una ragione per disabilitare Gzip soltanto perch\u00e9 Brotli \u00e8 disponibile.<\/p>\n<h2>La strategia migliore: Brotli + Gzip fallback<\/h2>\n<p>Nel 2026 una strategia moderna pu\u00f2 consistere nel supportare entrambi.<\/p>\n<p>Il browser comunica:<\/p>\n<pre><code>Accept-Encoding: gzip, br<\/code><\/pre>\n<p>Il server pu\u00f2 preferire:<\/p>\n<pre><code>br<\/code><\/pre>\n<p>e utilizzare Gzip quando Brotli non \u00e8 disponibile.<\/p>\n<p>La negoziazione avviene automaticamente senza richiedere modifiche da parte dell&#8217;utente.<\/p>\n<h2>E Zstandard?<\/h2>\n<p>Nel panorama moderno della compressione HTTP sta crescendo anche <strong>Zstandard<\/strong>, identificato come:<\/p>\n<pre><code>zstd<\/code><\/pre>\n<p>Browser moderni possono includerlo nell&#8217;header <code>Accept-Encoding<\/code>.<\/p>\n<p>Questo non significa che Brotli e Gzip siano destinati a scomparire a breve.<\/p>\n<p>Significa piuttosto che la compressione HTTP continua a evolversi e i server moderni possono progressivamente supportare pi\u00f9 algoritmi.<\/p>\n<p>La logica rimane la stessa: client e server negoziano automaticamente un formato compatibile.<\/p>\n<h2>Errori da evitare con la compressione HTTP<\/h2>\n<p>Tra gli errori pi\u00f9 comuni troviamo:<\/p>\n<ul>\n<li>comprimere immagini gi\u00e0 compresse;<\/li>\n<li>utilizzare sempre il livello massimo;<\/li>\n<li>ignorare l&#8217;utilizzo CPU;<\/li>\n<li>non configurare correttamente i MIME type;<\/li>\n<li>comprimere file minuscoli con risparmio irrilevante;<\/li>\n<li>non verificare Content-Encoding;<\/li>\n<li>non gestire correttamente Vary: Accept-Encoding;<\/li>\n<li>pensare che Brotli sostituisca la cache;<\/li>\n<li>confondere Brotli con WebP o AVIF;<\/li>\n<li>attivare pi\u00f9 sistemi di compressione sovrapposti senza controllare il risultato.<\/li>\n<\/ul>\n<h2>Brotli vs Gzip su un hosting condiviso<\/h2>\n<p>Su un hosting condiviso la compressione viene normalmente gestita dal web server e dall&#8217;infrastruttura del provider.<\/p>\n<p>L&#8217;utente non dovrebbe essere costretto a compilare manualmente Brotli o modificare il web server.<\/p>\n<p>Quando la piattaforma supporta correttamente la compressione, browser e server possono negoziare automaticamente il formato migliore.<\/p>\n<p>Per questo la presenza di un web server moderno rappresenta un elemento importante nella valutazione di un servizio hosting.<\/p>\n<p>I piani <a href=\"https:\/\/xlogic.org\/hosting-condiviso\/\"><strong>Hosting Condiviso Xlogic<\/strong><\/a> utilizzano LiteSpeed Enterprise nei servizi in cui questa tecnologia \u00e8 indicata tra le caratteristiche del piano.<\/p>\n<h2>Brotli vs Gzip: quale scegliere nel 2026?<\/h2>\n<p>Nel confronto <strong>Brotli vs Gzip<\/strong> non \u00e8 necessario scegliere esclusivamente uno dei due.<\/p>\n<p>La configurazione migliore \u00e8 normalmente:<\/p>\n<p><strong>Brotli quando supportato + Gzip come fallback.<\/strong><\/p>\n<p>Brotli permette spesso di ridurre maggiormente il peso dei contenuti testuali.<\/p>\n<p>Gzip rimane estremamente compatibile, veloce e affidabile.<\/p>\n<p>Entrambi continuano quindi ad avere un ruolo importante.<\/p>\n<h2>Checklist compressione HTTP nel 2026<\/h2>\n<ol>\n<li>Abilita la compressione sui contenuti testuali.<\/li>\n<li>Supporta Brotli quando disponibile.<\/li>\n<li>Mantieni Gzip come fallback.<\/li>\n<li>Non comprimere nuovamente immagini e video gi\u00e0 compressi.<\/li>\n<li>Controlla i MIME type compressibili.<\/li>\n<li>Evita livelli eccessivi sui contenuti dinamici.<\/li>\n<li>Valuta la precompressione degli asset statici.<\/li>\n<li>Verifica Content-Encoding con DevTools.<\/li>\n<li>Controlla Vary: Accept-Encoding.<\/li>\n<li>Misura CPU e tempi reali.<\/li>\n<li>Combina compressione e cache.<\/li>\n<li>Utilizza WebP o AVIF per le immagini.<\/li>\n<li>Verifica la configurazione anche attraverso CDN o proxy.<\/li>\n<\/ol>\n<h2>Conclusioni<\/h2>\n<p><strong>Brotli vs Gzip nel 2026<\/strong> non \u00e8 una battaglia in cui uno dei due deve necessariamente eliminare l&#8217;altro.<\/p>\n<p>Brotli rappresenta un&#8217;evoluzione importante della compressione HTTP e pu\u00f2 ottenere risultati particolarmente efficienti sui contenuti testuali.<\/p>\n<p>Gzip rimane per\u00f2 estremamente diffuso, rapido e compatibile.<\/p>\n<p>La strategia pi\u00f9 efficace consiste quindi nel permettere al server di scegliere automaticamente il formato migliore in base alle capacit\u00e0 del client.<\/p>\n<p>In pratica:<\/p>\n<pre><code>Browser supporta Brotli\r\n\u2192 Content-Encoding: br\r\n\r\nBrowser non supporta Brotli\r\n\u2192 Content-Encoding: gzip<\/code><\/pre>\n<p>\u00c8 inoltre importante ricordare che la compressione non deve essere analizzata isolatamente.<\/p>\n<p>Un sito veloce nasce dalla combinazione di:<\/p>\n<p><strong>hosting performante + cache + compressione + HTTP\/3 + PHP ottimizzato + database efficiente + immagini WebP\/AVIF + frontend leggero.<\/strong><\/p>\n<p><strong>Brotli permette di trasferire meno dati, ma \u00e8 l&#8217;intero stack che determina la velocit\u00e0 reale di un sito.<\/strong><\/p>\n<h2>Domande frequenti su Brotli vs Gzip<\/h2>\n<h3>\u00c8 meglio Brotli o Gzip?<\/h3>\n<p>Brotli pu\u00f2 ottenere una compressione migliore su molti contenuti testuali, mentre Gzip offre un&#8217;eccellente compatibilit\u00e0 e velocit\u00e0 di compressione. Nel 2026 \u00e8 generalmente utile supportare entrambi.<\/p>\n<h3>Brotli sostituisce Gzip?<\/h3>\n<p>No. Brotli pu\u00f2 essere utilizzato come formato preferenziale e Gzip come fallback per client o configurazioni che non supportano Brotli.<\/p>\n<h3>Come faccio a sapere se il mio sito usa Brotli?<\/h3>\n<p>Apri gli strumenti di sviluppo del browser, seleziona una richiesta nella scheda Network e controlla l&#8217;header Response Headers. Se trovi <code>Content-Encoding: br<\/code>, la risposta utilizza Brotli.<\/p>\n<h3>Quali file devo comprimere con Brotli?<\/h3>\n<p>Principalmente HTML, CSS, JavaScript, JSON, XML, SVG e altri contenuti testuali che possono beneficiare significativamente della compressione.<\/p>\n<h3>Devo comprimere JPEG, WebP e AVIF con Brotli?<\/h3>\n<p>Generalmente no. Questi formati sono gi\u00e0 compressi e un&#8217;ulteriore compressione HTTP pu\u00f2 produrre pochissimi benefici consumando risorse del server.<\/p>\n<h3>Brotli utilizza pi\u00f9 CPU di Gzip?<\/h3>\n<p>Pu\u00f2 utilizzarne di pi\u00f9, soprattutto ai livelli di compressione elevati. Per questo la configurazione deve bilanciare rapporto di compressione e costo computazionale.<\/p>\n<h3>Qual \u00e8 il livello massimo di Brotli?<\/h3>\n<p>Le implementazioni standard di Brotli utilizzano livelli di qualit\u00e0 compresi tra 0 e 11. I livelli pi\u00f9 elevati comprimono generalmente meglio ma richiedono pi\u00f9 tempo.<\/p>\n<h3>Qual \u00e8 il livello massimo di Gzip?<\/h3>\n<p>Le implementazioni basate su zlib utilizzano normalmente livelli da 0 a 9, dove 1 privilegia la velocit\u00e0 e 9 privilegia la compressione.<\/p>\n<h3>Brotli funziona con HTTP\/3?<\/h3>\n<p>S\u00ec. Brotli \u00e8 un content encoding e pu\u00f2 essere utilizzato indipendentemente dal fatto che il trasporto avvenga tramite HTTP\/2 o HTTP\/3.<\/p>\n<h3>LiteSpeed supporta Brotli?<\/h3>\n<p>S\u00ec. LiteSpeed Web Server supporta risposte compresse con Gzip o Brotli sia per contenuti statici sia per contenuti dinamici, in base alla configurazione.<\/p>\n<h3>Zstandard sostituir\u00e0 Brotli?<\/h3>\n<p>Zstandard \u00e8 sempre pi\u00f9 presente nel supporto HTTP moderno, ma Brotli e Gzip rimangono ampiamente utilizzati. I diversi algoritmi possono convivere attraverso la negoziazione Accept-Encoding.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Brotli vs Gzip: quale sistema di compressione conviene utilizzare nel 2026 per ridurre il peso di HTML, CSS, JavaScript e degli altri contenuti testuali di un sito web? La compressione HTTP \u00e8 una delle tecniche pi\u00f9 efficaci per diminuire la quantit\u00e0 di dati trasferiti tra server e browser. Invece di inviare il file originale, il [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":19353,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[5],"tags":[],"class_list":["post-19340","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"modified_by":"Team tecnico Xlogic","_links":{"self":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/posts\/19340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/comments?post=19340"}],"version-history":[{"count":1,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/posts\/19340\/revisions"}],"predecessor-version":[{"id":19345,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/posts\/19340\/revisions\/19345"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/media\/19353"}],"wp:attachment":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/media?parent=19340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/categories?post=19340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/tags?post=19340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}