Archiv GZIP (.gz)

IETF Standardní

Gzip (GZ) je standardní GNU kompresní nástroj a souborový formát, který je nasazen v unixových operačních systémech a internetových serverech HTTP pro rychlou kompresi souborů a webových dat.

Převést TAR na GZ

Bezplatný konvertor z TAR do GZ v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.

Kontrola a metadata

Operační systémy a analyzátory souborů identifikují soubory GZ kontrolou počáteční binární sekvence bajtů:

Vyberte nebo přetáhněte soubory sem

Soukromě - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V
Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

Podpis hlavičky na úrovni bajtů (Magic Bytes)

Operační systémy a analyzátory souborů identifikují soubory GZ kontrolou počáteční binární sekvence bajtů:

HEXADECIMÁLNÍ PODPIS (POSUN 0):

1F 8B 08

ASCII REPREZENTACE: ..\x08

Standardizace: IETF RFC 1952

Technické specifikace

Architektura kontejneru10bajtová hlavička (signatura 0x1F 0x8B, metoda 8, příznaky, čas změny, OS), za níž následuje proud DEFLATE a 8bajtová patička
KompreseAlgoritmus DEFLATE (posuvné okno LZ77 + Huffmanovo kódování)
Pořadí bajtůCeločíselné hodnoty hlavičky a patičky v pořadí little-endian
Barevné prostoryNevztahuje se (archivní kontejner)
Kanály a strukturaJednosouborový komprimovaný bajtový proud
Max. rozměryNekomprimovaná velikost se zaznamenává modulo 2^32 (délka proudu není omezená)
Průhlednost100% bezztrátové zachování dat bit po bitu
Streamování a progresivní načítáníSekvenční jednorázové streamování přes roury a sítě HTTP

Technická srovnávací matice: GZ vs konkurence

Technický atributGZ (Aktuální)BZ2BROTLIZSTD
Rychlost dekompreseRychlá (~300 MB/s)Pomalá (~40 MB/s)Velmi rychlá (~400 MB/s)Ultra rychlá (>1,5 GB/s)
Široké použití na webuŠiroká podpora v prohlížečích a serverech; kódování obsahu se vyjednává pro každý požadavekNulová podpora webových prohlížečůPodporováno v mnoha prohlížečích přes HTTPS; podpora závisí na verziRostoucí podpora prohlížečů a serverů
Vícesouborové baleníVyžaduje kontejner TAR (.tar.gz)Vyžaduje kontejner TAR (.tar.bz2)Surový proud nebo vlastní kontejnerVyžaduje kontejner TAR (.tar.zst)
Ověření kontrolního součtu32bitové CRC (CRC-32)32bitové CRC pro každý blokProud nemá žádný vestavěný kontrolní součet64bitové xxHash

Běžné režimy poškození a příručka pro obnovení v hex

Chyba extrakce: „gzip: stdin: unexpected end of file“.

Hlavní příčina: Předčasné ukončení přenosu souboru, které přerušilo proud DEFLATE nebo 8bajtovou patičku CRC32.

Obnovení: Extrahujte částečný obsah pomocí příkazu „gzip -d --keep broken.gz" nebo použijte File2File.app Gzip Extractor.

Bezpečnostní analýza a vektory útoků na parser

Analyzátory Gzip zpracovávají záhlaví řízená uživatelem a bitové proudy DEFLATE, které je nutné chránit před dekompresními bombami.

Známé vektory útoků

  • Dekompresní bomba (zip bomb), která rozbalí megabyty dat Gzip na stovky gigabajtů místa na disku.
  • Přetečení vyrovnávací paměti při čtení volitelného řetězce původního názvu souboru z hlavičky.
  • Celočíselné přetečení při porovnávání 32bitového kontrolního součtu CRC.

Doporučené bezpečnostní postupy: V automatizovaných službách pro příjem dat vynuťte přísné dekompresní kvóty a limity horní hranice paměti.

Historický vývoj a milníky

1996IETF formalizuje specifikaci formátu souborů Gzip jako RFC 1952.
1993Projekt GNU jej přijal jako náhradu za proprietární unixový nástroj „compress“ (soubory .Z).
1992Jean-loup Gailly a Mark Adler vytvářejí Gzip jako kompresní nástroj bez licenčních poplatků pro hnutí za svobodný software.

Klíčové výhody a přednosti

  • Kódování obsahu HTTP se široce podporovanou kompresí; klienti a servery se však mohou dohodnout na jiném kódování nebo nepoužít kompresi.
  • Zachovává původní časová razítka úprav souborů a volitelné původní názvy souborů uvnitř 10bajtové hlavičky.
  • Nenáročnost na procesor během dekomprese, což umožňuje plynulý chod na nízkovýkonných mobilních zařízeních a routerech.

Technická omezení a nevýhody

  • Pouze jednosouborová komprese: nelze komprimovat více souborů nebo adresářů bez předchozího zabalení do kontejneru TAR.
  • Kompresní poměr je u moderních webových textů nižší než u moderních algoritmů, jako jsou Brotli a Zstandard.
  • Pole velikosti nekomprimovaných dat v patičce je 32bitové modulo 2^32, což způsobuje chyby přetečení zobrazení u souborů větších než 4 GB.

Zajímavé technické drobnosti

  • Magické bajty 0x1F 0x8B byly zvoleny proto, že 0x1F byl historicky prvním bajtem unixových souborů „compress“, zatímco 0x8B identifikoval Gzip.
  • Gzip se stále běžně používá ke kompresi webových odpovědí; jeho rozšíření se liší podle webu a typu odpovědi.
  • Jean-loup Gailly napsal kompresní kód, zatímco Mark Adler napsal dekompresní kód (inflate); oba obdrželi ocenění ACM Software System Award.

Často kladené technické otázky

Proč nemohu komprimovat složku pomocí Gzip?

Gzip byl navržen pro kompresi jediného proudu bajtů. Pro kompresi složky systémy Unix nejprve složku zabalí do jednoho souboru .tar a poté soubor zkomprimují pomocí Gzipu, čímž vznikne soubor .tar.gz.

Jaký je rozdíl mezi .gz a .zip?

.zip je archivní formát, který sdružuje více souborů dohromady s indexem adresáře. .gz komprimuje pouze jeden soubor a v systémech Unix se běžně používá v kombinaci s nástrojem tar.

Jak mohu dekomprimovat soubor .gz ve Windows nebo Macu?

Použijte aplikaci File2File.app k okamžité dekompresi souborů .gz přímo ve vašem webovém prohlížeči bez nutnosti instalace jakéhokoli softwaru.