Komprese je zmenšení souboru tak, aby zabral méně místa a rychleji se přenesl. Česky se říká i komprimace nebo prostě zabalení. Funguje na jednoduchém principu: v datech se hledá opakování a to se zapíše zkráceně. Místo aby soubor obsahoval dvěstěkrát za sebou stejný bod modré oblohy, poznamená si, že následuje dvěstěkrát modrá.
Přirovnat se to dá ke skládání trička. Rozložené zabere na polici trojnásobek, složené se vejde do zásuvky a rozložit ho zase jde. Podstatné je, že komprese není magie – dobře zabalený soubor už znovu zabalit nejde, což je důvod, proč se vložením fotek do archivu prakticky nic neušetří.
Existují dva zásadně odlišné druhy:
- Bezztrátová – po rozbalení dostanete přesně to, co jste zabalili, bit po bitu. Používá se všude, kde by jakákoli změna vadila: dokumenty, tabulky, zdrojové kódy, databázové výpisy.
- Ztrátová – část informace se zahodí navždy a zpět už ji nedostanete. Vybírá se ale tak, aby si toho člověk nevšiml. Tímhle způsobem funguje JPEG u fotek, MP3 u hudby nebo běžná videa.
U ztrátové komprese platí důležité varování: každé další uložení kvalitu znovu sníží. Když fotku pokaždé otevřete, drobně upravíte a znovu uložíte jako JPEG, po několika kolech na ní uvidíte čtverečky. Originál si proto vždy schovejte stranou.
Na webhostingu se komprese potkáte hned na několika místech a každé má vlastní heslo, kde se dozvíte podrobnosti. Textové soubory stránky – HTML, styly a skripty – posílá server prohlížeči zabalené, viz gzip. Soubory k nahrání a stažení se běžně balí do archivu, viz ZIP. A pod tím vším pracuje knihovna, kterou popisuje heslo zlib. Efekt je vždy stejný: méně přenesených dat, tedy nižší objem přenosu a rychlejší načtení.
Za zmínku stojí, že komprese něco stojí – zabalení i rozbalení zabere kus výkonu procesoru. U textu se to mnohonásobně vyplatí, u už zabalených dat by to byla čistá ztráta, a proto server obrázky ani archivy podruhé nebalí.