K čemu je gzip užitečný
Gzip jednoduše umožňuje vývojářům webu nastavit server tak, aby data při vyžádání komprimoval (sbalil). Takto sbalená pak posílá do prohlížeče, který si je zase rozbalí. Velikost přenášených dat se tím redukuje přibližně o 70–80 %. To má významný vliv i na rychlost načítání webu, která se tím zvýší o 15–20 %. A to přesně chceme. Konkrétní hodnoty samozřejmě záleží na tom, z jakých souborů se daná stránka skládá a jak je celkově optimalizovaná na rychlost.
A takového efektu lze dostáhnout pouhými pár řádky v konfiguraci serveru. Člověk se až diví, proč statistiky stále tvrdí, že cca čvrtina webů gzip kompresi ještě vůbec nepoužívá. Možná se obávají o něco vyšších nároků na kapacity serveru. Na druhou stranu, spousta hostingů už mívá gzip kompresi zapnutou automaticky a vývojáři ji nemusí nijak nastavoat.
E-book za mail
Získejte podrobný návod Jak na e-mail marketing (52 stran). Více informací.
Žádný spam, jen užitečný obsah. Newsletter posílám cca 8× ročně. Odhlásíte se kdykoliv.
Jak gzip na serveru funguje
Ve chvíli, kdy si prohlížeč nebo jiný klient vyžádá na straně serveru určitý obsah pomocí protokolu HTTP, činí tak pomocí speciálních HTTP hlaviček. Jednou z nich je také hlavička Accept-Encoding
, která obsahuje informaci o tom, jaké kompresní metody prohlížeč zvládá. Požadavek prohlížeče může obsahovat třeba toto:
Server tedy vidí, že prohlížeč podporuje gzip. Místo aby daný soubor odeslal v surové podobě, komprimuje ho a do HTTP odpovědi na jeho začátku přidá speciální hlavičku Content-Encoding
, kterou prohlížeč informuje, že data jsou zabalená pomocí metody gzip:
Ke komprimaci gzip využívá server algoritmus jménem Deflate, který určitě také běžně používáte při balení souborů do archívů zip. Jen formát obou souborů se trochu liší. Existují i účinnější kompresní algoritmy, ale gzip je extrémě rychlý. Tento algoritmus také obzvlášť dobře funguje na soubory, které obsahují velké množství mezer a opakujících se úryvků textu. Což je přesně případ většiny webových souborů.
Na jaké soubory se gzip hodí
Gzip je super na všechny soubory, které neobsahují vlastní kompresní algoritmy. Tedy nedává smysl ho používat na obrázky, videa, PDF soubory apod. Gzip naopak skvěle funguje na textové typy souborů, zejména na:
Jak si ověřím, že gzip na webu funguje
Nejjednodušší je zadat adresu stránky do některého z mnoha online nástrojů. Já třeba používám Gzip Test. Ale snadno si najdete i nějaké další, třeba googlením fráze „gzip checker“.
Jak nastavit gzip na serveru Apache
Pokud váš hosting automaticky gzip kompresi pro všechny potřebné soubory nezapíná, můžete zkusit do konfiguračního souboru .htaccess přidat následující řádky. Po restartu serveru by měly být příslušné soubory kompimované.
Říkáme tím serveru, na jaké typy souborů (tzv. MIME typy) si přejeme gzip kompresi aplikovat. Přidáním jednoho řádku si tak snadno můžete povolit gzip komresi konkrétního typu souboru, který třeba hosting nepodporuje automaticky.