Brotli e Gzip: di cosa hanno veramente bisogno i siti web moderni?
Brotli e Gzip comprimono le risorse testuali; il server seleziona il formato in base al supporto del browser. Immagini e formati compressi in genere non traggono vantaggio da un'ulteriore compressione.
Per gli sviluppatori web e i gestori di siti web, gli aspetti chiave di "Usare Brotli e Gzip correttamente" sono "Tipo di contenuto appropriato" e "Negoziazione chiara". La prospettiva "Risorse, compressione e cache" mostra come questi due punti interagiscono nella pratica.
Pubblicato: 3 minuti di lettura · Autore: Sebastian Geier
Quando un sito web moderno dovrebbe offrire Brotli, Gzip o entrambi i metodi di compressione?
I siti web moderni offrono Brotli per i client supportati e Gzip come soluzione di ripiego per i contenuti testuali adatti. La selezione viene effettuata tramite Accept-Encoding; la cache e la CDN devono distinguere correttamente tra le varianti utilizzando Vary.
Caso di test: "Intestazione Vary mancante"
Una CDN distribuisce JavaScript tramite Brotli ma mantiene una variante Gzip per un client meno recente. Le immagini rimangono nel loro formato ottimizzato; un test con Accept-Encoding variabile conferma che la cache non riutilizza erroneamente alcuna risposta Brotli.
Negoziazione pulita
Le risorse testuali e binarie rappresentative vengono acquisite con la loro codifica, tipo e intestazioni di cache correnti.
Ai server o alle CDN viene assegnata una priorità univoca per Brotli, Gzip e fallback non compressi per ogni tipo di contenuto.
Le richieste con valori di Accept Encoding diversi verificano il contenuto, le intestazioni, la corrispondenza con la cache e la decodifica end-to-end.
Tipo di contenuto appropriato
Criterio di test
Tipo di contenuto appropriato
HTML, CSS, JavaScript, JSON e altri formati di testo vengono compressi; i contenuti multimediali già compressi generalmente non vengono compressi nuovamente.
Criterio di test
Negoziazione pulita
La codifica del contenuto corrisponde alla richiesta e ogni variante fornita può essere decodificata correttamente.
Separazione della cache – Le cache differenziano le rappresentazioni in base alla codifica accettata e non forniscono una variante errata.
Separazione della cache
Byte trasferiti per tipo di risorsa di testo e codifica del contenuto fornito.
Proporzione di risposte comprimibili senza codifica prevista o con una variante di cache errata.
Intestazione Vary mancante
Intestazione Vary mancante – Una cache può inviare una risposta Brotli a un client che non l'ha richiesta o non la supporta.
Doppia compressione – La compressione multipla o non necessaria consuma CPU e può aumentare le dimensioni della risposta anziché ridurle.
Solo dimensione del file Un buon rapporto di compressione non risolve i problemi di late discovery o di blocco delle risorse.
Cosa controllare prima e dopo "Usare Brotli e Gzip correttamente"
È disponibile una risorsa approfondita adeguata. Migliorare il LCP senza compromettere il design visibile"Come migliorare LCP senza compromettere il design visibile della pagina? "
Inoltre: Separazione efficace della cache CDN e della cache del browser..
Se vuoi mettere in pratica "Usare Brotli e Gzip correttamente", puoi andare a Sistemi web robusti Fare riferimento a questo documento. L'attenzione è focalizzata su "Risorse, compressione e cache" e "Tipi di contenuto appropriati".
Conclusione: Utilizzo corretto di Brotli e Gzip
Brotli e Gzip si completano a vicenda come metodi di compressione negoziati per risorse testuali. La loro efficacia dipende dalla correttezza delle intestazioni e delle cache, nonché dal tasso di compressione.
Fonti e ulteriori informazioni
Queste fonti primarie rendono comprensibili i presupposti, i limiti di sistema e i metodi di test per "Utilizzo corretto di Brotli e Gzip".
RFC 9110: Semantica HTTPLo standard HTTP definisce le codifiche dei contenuti, incluso gzip, e la negoziazione dei metodi supportati tramite Accept-Encoding.
RFC 7932: Formato dati compresso BrotliLo standard IETF specifica il formato dati Brotli e ne valuta le prestazioni di compressione rispetto ai metodi basati su Deflate.
Tesi chiave
Il server negozia la migliore variante di codifica supportata tramite Accept-Encoding e fornisce Gzip come soluzione di ripiego generica. I tipi di testo appropriati vengono compressi, mentre le chiavi della cache variano correttamente.
Cosa non riguarda
Brotli e Gzip non vengono applicati in sequenza alla stessa risposta e non sostituiscono i formati di immagine o multimediali appropriati.
Di cosa si tratta
Il server negozia la variante più adatta per le risorse di testo comprimibili e mantiene attiva un'opzione di riserva adeguata.
Ulteriori approfondimenti
Parametri vitali e prestazioni del sito Web
Definire i tempi di esecuzione della cache in base al tipo di file e al rischio di modifica.
Come fase di test separata per "Utilizzo corretto di Brotli e Gzip", la domanda è: come si determinano i tempi di esecuzione della cache in base al tipo di file e al rischio di modifiche?
Parametri vitali e prestazioni del sito Web
Dare priorità alle immagini invece di caricare tutto in modo differito
Integra "Utilizzo corretto di Brotli e Gzip" con una decisione separata: quali immagini un sito web dovrebbe prioritizzare e quali dovrebbero essere caricate con un ritardo?
Panoramica degli Insight
Tutti gli Insight di VELUNO in sintesi
Ulteriori analisi sui sistemi web, la visibilità digitale e modelli di lavoro robusti.
Negoziazione pulita: il percorso verso il test
Un'analisi dell'intestazione di alcune risorse rappresentative permette di individuare la maggior parte degli errori di configurazione. L'origine e la CDN vengono verificate utilizzando diverse codifiche standard.