GZIP archív (.gz)

IETF Štandard

Gzip (GZ) je štandardný kompresný nástroj a formát súborov systému GNU, ktorý sa univerzálne používa v unixových operačných systémoch a internetových serveroch HTTP na rýchlu kompresiu súborov a webových zdrojov.

Konvertovať TAR do GZ

Bezplatný konvertor z TAR do GZ priamo v prehliadači. Konvertujte súbory okamžite vo svojom zariadení.

Preskúmať a metadáta

Operačné systémy a analyzátory súborov identifikujú súbory GZ kontrolou počiatočnej binárnej bajtovej sekvencie:

Vyberte alebo presuňte súbory sem

100 % súkromná konverzia v prehliadači - súbory nikdy neopustia vaše zariadenie

alebo prilepiť Ctrl+V
Záruka súkromia s nulovým prenosom do siete: 0 bajtov odovzdaných na externé servery. Všetko spracovanie prebehlo lokálne v pieskovisku vášho prehliadača.

Podpis hlavičky na úrovni bajtov (Magic Bytes)

Operačné systémy a analyzátory súborov identifikujú súbory GZ kontrolou počiatočnej binárnej bajtovej sekvencie:

HEXADECIMÁLNY PODPIS (OFFSET 0):

1F 8B 08

ASCII REPREZENTÁCIA: ..\x08

Štandardizácia: IETF RFC 1952

Technické špecifikácie

Architektúra kontajnera10-byte header (magic 0x1F 0x8B, method 8, flags, mtime, OS) followed by DEFLATE stream and 8-byte footer
KompresiaDEFLATE algorithm (LZ77 sliding window + Huffman coding)
Poradie bajtov (Endianness)Little-Endian header and footer integers
Farebné priestoryN/A (Archive Container)
Kanály a štruktúraSingle-file compressed byte stream
Max. rozmeryUncompressed size recorded modulo 2^32 (supports unbounded stream lengths)
Priehľadnosť100% bit-exact lossless data preservation
Streamovanie a postupné načítavanieSequential single-pass streaming playback over pipes and HTTP networks

Technická porovnávacia matica: GZ vs konkurenti

Technický atribútGZ (Aktuálne)BZ2BROTLIZSTD
Rýchlosť dekompresieRýchla (~300 MB/s)Pomalá (~40 MB/s)Veľmi rýchla (~400 MB/s)Mimoriadne rýchla (>1,5 GB/s)
Univerzálna webová podpora100 % všetkých prehliadačov a serverovNulová podpora v webových prehliadačochPodporované cez HTTPS vo všetkých prehliadačochRastúca podpora v prehliadačoch a serveroch
Zabalenie viacerých súborovVyžaduje kontajner TAR (.tar.gz)Vyžaduje kontajner TAR (.tar.bz2)Surový prúd alebo vlastný kontajnerVyžaduje kontajner TAR (.tar.zst)
Overenie kontrolného súčtu32-bitové CRC (CRC-32)32-bitové CRC pre každý blokŽiadne vstavané v prúde64-bitové xxHash

Bežné režimy poškodenia a príručka na obnovu v hexadecimálnom kóde

Chyba pri rozbaľovaní: „gzip: stdin: unexpected end of file".

Hlavná príčina: Predčasné ukončenie prenosu súboru, ktoré prerušilo prúd DEFLATE alebo 8-bajtovú pätu CRC32.

Obnova: Extrahujte čiastočný obsah pomocou príkazu „gzip -d --keep broken.gz" alebo nástroja File2File Gzip Extractor.

Bezpečnostná analýza a vektory útokov na parser

Analyzátory Gzip spracúvajú hlavičky a bitové prúdy DEFLATE riadené používateľom, ktoré musia byť chránené proti dekompresným bombám.

Známe vektory útokov

  • Dekompresná bomba (zip bomb), ktorá rozbalí megabajty údajov Gzip na stovky gigabajtov miesta na disku.
  • Pretečenie vyrovnávacej pamäte pri čítaní voliteľného reťazca s pôvodným názvom súboru z hlavičky.
  • Pretečenie celých čísel počas porovnávania 32-bitovej kontroly CRC.

Najlepšie obranné postupy:

Historický pôvod a míľniky

1996IETF formalizuje špecifikáciu formátu súborov Gzip ako RFC 1952.
1993Projekt GNU ho prijíma ako náhradu za proprietárny unixový nástroj „compress" (súbory .Z).
1992Jean-loup Gailly a Mark Adler vytvárajú Gzip ako kompresný nástroj bez patentov pre hnutie za slobodný softvér.

Kľúčové výhody a prednosti

  • Univerzálny benchmark pre internetovú kompresiu HTTP („Content-Encoding: gzip") podporovaný 100 % webových klientov.
  • Zachováva pôvodné časové pečiatky úpravy súborov a voliteľné pôvodné názvy súborov v 10-bajtovej hlavičke.
  • Nízka záťaž procesora počas dekompresie, beží plynule na nízkovýkonných mobilných zariadeniach a smerovačoch.

Technické obmedzenia a nevýhody

  • Kompresia iba pre jeden súbor: nedokáže kompresovať viacero súborov alebo adresárov bez predchádzajúceho zabalenia do kontajnera TAR.
  • Kompresný pomer je nižší ako pri moderných algoritmoch, ako sú Brotli a Zstandard, na modernom webovom texte.
  • Položka veľkosti nekomprimovaných údajov v päte je 32-bitová modulo 2^32, čo spôsobuje chyby pretečenia zobrazenia pri súboroch väčších ako 4 GB.

Zaujímavé technické drobnosti

  • Magické bajty 0x1F 0x8B boli zvolené preto, lebo 0x1F bol historicky prvý bajt unixových súborov „compress", zatiaľ čo 0x8B identifikoval Gzip.
  • Viac ako 80 % všetkých webových stránok na internete využíva kompresiu Gzip na doručovanie webových stránok prehliadačom.
  • Jean-loup Gailly napísal kompresný kód, zatiaľ čo Mark Adler napísal dekompresný kód (inflate); obaja získali ocenenie ACM Software System Award.

Často kladené technické otázky

Prečo nemôžem komprimovať priečinok pomocou Gzip?

Gzip bol navrhnutý na kompresiu jedného prúdu bajtov. Na kompresiu priečinka systémy Unix najprv spoja priečinok do jedného súboru .tar a potom ho skomprimujú pomocou Gzip, čím vznikne súbor .tar.gz.

Aký je rozdiel medzi .gz a .zip?

.zip je archívny formát, ktorý spája viacero súborov dohromady spolu s indexom adresára. .gz komprimuje iba jediný súbor a v systémoch Unix sa bežne používa v kombinácii s tar.

Ako môžem dekomprimovať súbor .gz v systéme Windows alebo Mac?

Použite aplikáciu File2File.app na okamžitú dekompresiu súborov .gz priamo vo webovom prehliadači bez akejkoľvek inštalácie softvéru.