Co je GZIP komprese?
GZIP je bezztrátový kompresní formát definovaný RFC 1952. Obaluje payload vytvořený DEFLATE algoritmem (RFC 1951), který kombinuje LZ77 zpětné reference s Huffmanovým kódováním pro zmenšení opakujících se dat do kompaktního bajtového proudu.
Jak funguje GZIP komprese?
Váš vstup je zpracován zcela ve vašem prohlížeči pomocí nativního CompressionStream('gzip') API. Kroky jsou:
- Nástroj převede váš text nebo soubor na proud bajtů (UTF-8 pro textový vstup).
- Tyto bajty jsou prohnány
CompressionStreamnakonfigurovaným pro formátgzip. - Prohlížeč aplikuje DEFLATE: LZ77 průchod s klouzavým oknem nachází opakující se sekvence a Huffmanovo kódování přiřazuje kratší kódy běžným symbolům.
- 10bajtová gzip hlavička a 8bajtová pata (CRC32 původních dat plus původní délka modulo 2^32) jsou obaleny kolem DEFLATE payloadu, čímž vzniká standardní .gz kontejner.
- Výsledek je zobrazen jako Base64 nebo hex pro textový vstup, nebo nabídnut jako stahovatelný .gz soubor pro binární vstup.
Proč komprimovat pomocí GZIP?
- Menší payloady: text, JSON, HTML, CSS a zdrojový kód se typicky zmenší na zlomek své původní velikosti.
- Průmyslový standard: GZIP je podporován prakticky každým HTTP serverem, CDN, prohlížečem, archivačním nástrojem a standardní knihovnou programovacího jazyka.
- Soukromí: komprese probíhá zcela ve vašem prohlížeči. Vstup nikdy nedorazí na naše servery.
- Připraveno k oboustranné konverzi: výstup lze dekomprimovat pomocí
gunzipCLI, HTTPContent-Encoding: gzipa libovolným RFC 1952 čtečkou v Pythonu, Node.js, Go, Javě nebo Rustu.
Jaké jsou běžné aplikace GZIP komprese?
GZIP se používá napříč webem a nástroji příkazové řádky:
- HTTP přenos: webové servery komprimují odpovědi pomocí GZIP, aby se stránky načítaly rychleji po síti.
- Archivace logů: dlouhodobé serverové logy jsou ukládány jako .gz soubory pro snížení využití disku.
- Zálohy a balíčky: tarbally (.tar.gz) komprimují celé adresářové stromy pro přenosnou distribuci.
Jak vypadá příklad GZIP komprese?
1 KB JSON dokument s mnoha opakujícími se názvy polí se běžně zkomprimuje na přibližně 200–300 bajtů — čtyř až pětinásobné zmenšení. Velké textové logy se často zkomprimují o 90 % nebo více. Vstupy, které jsou již komprimované (JPEG, PNG, MP4, ZIP), se dále nezmenší a mohou narůst o pár bajtů GZIP rámování.
Tento GZIP kompresor vytváří standardní RFC 1952 výstup přímo ve vašem prohlížeči. Ať už zmenšujete payload před přenosem nebo vytváříte .gz soubor pro archivaci, výsledek je interoperabilní s každým GZIP nástrojem v síti.