GZIP archív (.gz)
IETF ŠtandardGzip (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:
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 08ASCII REPREZENTÁCIA: ..\x08
Štandardizácia: IETF RFC 1952
Technické špecifikácie
| Architektúra kontajnera | 10-byte header (magic 0x1F 0x8B, method 8, flags, mtime, OS) followed by DEFLATE stream and 8-byte footer |
| Kompresia | DEFLATE algorithm (LZ77 sliding window + Huffman coding) |
| Poradie bajtov (Endianness) | Little-Endian header and footer integers |
| Farebné priestory | N/A (Archive Container) |
| Kanály a štruktúra | Single-file compressed byte stream |
| Max. rozmery | Uncompressed size recorded modulo 2^32 (supports unbounded stream lengths) |
| Priehľadnosť | 100% bit-exact lossless data preservation |
| Streamovanie a postupné načítavanie | Sequential single-pass streaming playback over pipes and HTTP networks |
Technická porovnávacia matica: GZ vs konkurenti
| Technický atribút | GZ (Aktuálne) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| Rýchlosť dekompresie | Rý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á podpora | 100 % všetkých prehliadačov a serverov | Nulová podpora v webových prehliadačoch | Podporované cez HTTPS vo všetkých prehliadačoch | Rastúca podpora v prehliadačoch a serveroch |
| Zabalenie viacerých súborov | Vyžaduje kontajner TAR (.tar.gz) | Vyžaduje kontajner TAR (.tar.bz2) | Surový prúd alebo vlastný kontajner | Vyžaduje kontajner TAR (.tar.zst) |
| Overenie kontrolného súčtu | 32-bitové CRC (CRC-32) | 32-bitové CRC pre každý blok | Žiadne vstavané v prúde | 64-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
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.
Súvisiace konverzné páry pre GZ
Konverzia archívu TAR na archív GZIP zabalí nekomprimovanú kolekciu súborov do jedného komprimovaného prúdu pomocou bezstratového algoritmu DEFLATE na dramatické zmenšenie veľkosti súboru.
Konverzia komprimovaného súboru GZIP na archív TAR odstraňuje vrstvu kompresie, čím sa odhalí surová, nekomprimovaná kolekcia súborov a priečinkov.