Kompresia na úrovni HTTP zmenšuje veľkosť odpovedí servera, takže cez sieť prejde menej dát. Server telo odpovede zbalí a prehliadač ho rozbalí. Najčastejšie sa používajú algoritmy gzip a Brotli.
Aký je rozdiel medzi gzip a Brotli?
Gzip je najrozšírenejší algoritmus. Brotli je novší a zvyčajne efektívnejší. Web.dev odporúča tam, kde je to možné, uprednostniť Brotli pred gzip. Všetky moderné prehliadače podporujú oba a hlásia ich v hlavičke Accept-Encoding. Server musí byť nastavený tak, aby komprimovanú verziu poslal.
Ako dohodnutie prebieha?
Prehliadač pošle zoznam podporovaných algoritmov v hlavičke Accept-Encoding.
Server vyberie algoritmus, komprimuje telo a označí ho hlavičkou Content-Encoding.
Prehliadač obsah rozbalí a zobrazí.
Čo komprimujeme a čo nie?
Komprimujeme textové súbory, teda HTML, CSS, JavaScript, JSON a SVG. Väčšie textové súbory sa podľa web.dev často zmenšia o 70 až 90 percent. Obrázky, zvuk a video sú už komprimované vlastným formátom, preto ich znova nekomprimujeme. Veľmi malé súbory sa po kompresii môžu naopak zväčšiť. Kompresia sa dopĺňa s minifikáciou, nenahrádza ju.
Ako kompresiu overíme?
V nástrojoch pre vývojárov v Chrome otvoríme kartu Sieť, načítame stránku a v súhrne dole porovnáme veľkosť prenesených dát s veľkosťou po rozbalení.
Čo si zapamätať o pojme kompresia (gzip a Brotli)?
Kompresia je jedna z najlacnejších ciest k rýchlejšiemu webu. Pri tvorbe webu na mieru ju nastavujeme na serveri ako samozrejmosť, pozri rýchlosť stránky.
Ako to rieši webstrankanamieru.sk: Pojem kompresia (gzip a Brotli) patrí do technickej časti optimalizácie. Postup nájdete v sekcii SEO na mieru, zistenia z praxe v novinkách a ceny v cenníku. Ak chcete skontrolovať svoj web, napíšte nám.
Súvisiace pojmy: Minifikácia, Rýchlosť stránky, HTTP hlavičky, CDN, Optimalizácia obrázkov, LCP
Často kladené otázky o pojme kompresia (gzip a Brotli)
Čo je kompresia na webe?
Čo je lepšie, gzip alebo Brotli?
Mám komprimovať aj obrázky?
Ako zistím, že kompresia funguje?
Nahrádza kompresia minifikáciu?
Zdroje
- MDN Web Docs: Compression in HTTPÚrovne kompresie, algoritmy a dohodnutie.
- web.dev: Reduce network payloads using text compressionGzip a Brotli, čo komprimovať a koľko sa ušetrí.
- web.dev: Fast load timesRýchle načítanie webu.