Textové soubory jako HTML, CSS nebo JavaScript se dají před odesláním z serveru zmenšit na zlomek původní velikosti, aniž by uživatel poznal jakýkoli rozdíl v obsahu. Kontrola komprese GZIP a Brotli ověří, jestli web tuto možnost skutečně využívá, protože chybějící komprese patří mezi nejčastější a přitom nejsnáz opravitelné příčiny pomalého načítání – klikněte sem.
Rozdíl mezi Gzip a Brotli
Gzip je starší a rozšířenější formát, který na webu funguje spolehlivě už léta a podporují ho prakticky všechny prohlížeče i servery. Brotli je novější algoritmus vyvinutý Googlem, který u textových souborů dosahuje obecně větší úspory než Gzip, přibližně o patnáct až dvacet procent lepší kompresní poměr. Nevýhodou Brotli je vyšší nárok na výkon serveru při samotné kompresi a podmínka zabezpečeného spojení přes HTTPS, bez kterého ho prohlížeče nepoužijí.
Oba algoritmy navíc umožňují nastavit úroveň komprese, Gzip má devět stupňů, Brotli jedenáct. Vyšší stupeň znamená menší výsledný soubor, ale i delší dobu potřebnou na samotné zpracování na straně serveru. V praxi se doporučuje úroveň kolem šesti, protože vyšší hodnoty přinášejí už jen minimální úsporu velikosti výměnou za citelně vyšší zátěž procesoru.
V praxi se oba formáty často kombinují. Server pošle Brotli moderním prohlížečům, které ho podporují, a Gzip jako záložní variantu pro starší software, který Brotli nezná. Technické srovnání obou algoritmů i doporučení, kdy dává smysl nastavit, najdete zde.
Kontrola přes DevTools v prohlížeči
Nejrychlejší způsob, jak kompresi ověřit bez instalace čehokoliv navíc, vede přes nástroje pro vývojáře, které má vestavěné každý moderní prohlížeč. Po otevření stránky se stiskne klávesa F12, přejde se na záložku Network a stránka se znovu načte. Kliknutím na libovolný HTML, CSS nebo JS soubor se v sekci odpovědi zobrazí hlavička content-encoding, jejíž hodnota gzip nebo br přímo potvrdí, který formát komprese server použil.
Ve stejné záložce se navíc dá porovnat velikost souboru před kompresí a po ní, obvykle jako dva sloupce s popiskem size a transferred. Můžete tak vidět reálnou úsporu na konkrétním souboru, ne jen obecné procento z tabulky, a snadno odhadnout, kolik dat komprese na daném webu skutečně šetří.
Pokud tato hlavička v odpovědi chybí úplně, komprese na daném souboru nefunguje, a to bez ohledu na to, jak je zbytek webu technicky vyladěný.
Kontrola přes automatizovaný nástroj
Ne každý majitel webu chce procházet záložky vývojářských nástrojů ručně u každého souboru zvlášť, hlavně pokud web obsahuje desítky různých typů zdrojů. Automatizovaný test se připojí přímo na doménu, projde hlavičky odpovědi za uživatele a vrátí přehled, na kterých typech souborů komprese funguje a na kterých chybí, včetně odhadu, kolik dat by se dalo dodatečně ušetřit.
Výhoda automatizace vynikne hlavně u webů s velkým počtem statických souborů, třeba u e-shopů, kde jednu stránku produktu doprovázejí desítky CSS a JS souborů z různých pluginů a šablon. Ruční kontrola každého z nich by zabrala nepřiměřeně dlouhou dobu. Jeden automatizovaný test vrátí kompletní přehled během pár vteřin.
Co dělat, když komprese chybí
Zapnutí komprese na serveru s Apache nebo Nginx je většinou otázkou jen pár řádků konfigurace, přesto se na ni u starších nebo ručně spravovaných webů často zapomíná. U hostingu sdíleného typu bývá komprese aktivní automaticky, u vlastního serveru nebo specifické konfigurace je potřeba ji povolit ručně v nastavení výstupních filtrů.
U webů provozovaných přes CDN, třeba Cloudflare, se komprese často řeší na úrovni této služby, ne přímo na serveru samotném. Novější formát Brotli přitom někteří poskytovatelé nabízejí až u vyšších tarifů nebo vyžadují jeho ruční aktivaci v administraci, takže i web zdánlivě chráněný moderní infrastrukturou může běžet jen na starším Gzipu, aniž by o tom majitel webu věděl.
Fonty ve formátech WOFF a WOFF2 jsou naopak už komprimované samy o sobě, takže dodatečná komprese jejich velikost spíš zvětší, než zmenší. Stejně tak obrázky a další binární soubory se kompresí textového typu neřeší vůbec, na ně se vztahují úplně jiné postupy optimalizace.
Malá úprava serveru s citelným dopadem na rychlost
Textová komprese je zásah, kterýé se nastaví jednou na úrovni serveru a pak funguje automaticky pro všechny další stránky webu, aniž by jej bylo potřeba dál řešit Rozdíl v přenesených datech se přitom pohybuje v desítkách procent, takže jde o jeden z nejúčinnějších poměrů mezi vynaloženou prací a reálným zrychlením webu. Ověření této jedné hlavičky v odpovědi serveru tak stojí za pár minut, které dokážou odhalit problém běžící roky bez povšimnutí.
Přehled dalších technických kontrol, které se u zabezpečení a rychlosti webu vyplatí provést vedle komprese, najdete ještě v článku o kontrole SSL certifikátu.

