GZIP arhiv (.gz)
IETF StandardnoGzip (GZ) je standardni GNU uslužni program i format datoteke za kompresiju, univerzalno primijenjen na Unix operativnim sustavima i internetskim HTTP poslužiteljima za brzu kompresiju datoteka i web resursa.
Pretvori TAR u GZ
Besplatni TAR u GZ pretvarač u pregledniku. Trenutno pretvorite datoteke na svom uređaju.
Pregledaj i metapodaci
Operativni sustavi i alati za analizu datoteka identificiraju GZ datoteke provjerom početnog niza binarnih bajtova:
Potpis zaglavlja na razini bajtova (Magic Bytes)
Operativni sustavi i alati za analizu datoteka identificiraju GZ datoteke provjerom početnog niza binarnih bajtova:
HEX POTPIS (POMAK 0):
1F 8B 08ASCII PRIKAZ: ..\x08
Standardizacija: IETF RFC 1952
Tehničke specifikacije
| Arhitektura spremnika | 10-byte header (magic 0x1F 0x8B, method 8, flags, mtime, OS) followed by DEFLATE stream and 8-byte footer |
| Kompresija | DEFLATE algorithm (LZ77 sliding window + Huffman coding) |
| 字节序 | Little-Endian header and footer integers |
| Prostori boja | N/A (Archive Container) |
| Kanali i struktura | Single-file compressed byte stream |
| Maksimalne dimenzije | Uncompressed size recorded modulo 2^32 (supports unbounded stream lengths) |
| Prozirnost | 100% bit-exact lossless data preservation |
| Streaming i progresivno | Sequential single-pass streaming playback over pipes and HTTP networks |
Tehnička matrica usporedbe: GZ vs Konkurencija
| Tehnički atribut | GZ (Trenutno) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| Brzina dekompresije | Brzo (~300 MB/s) | Sporo (~40 MB/s) | Vrlo brzo (~400 MB/s) | Izuzetno brzo (>1.5 GB/s) |
| Univerzalna web usvojenost | 100% svih preglednika i poslužitelja | Nema podrške u web preglednicima | Podržano preko HTTPS-a u svim preglednicima | Rastuća podrška u preglednicima i poslužiteljima |
| Pakiranje više datoteka | Zahtijeva TAR kontejner (.tar.gz) | Zahtijeva TAR kontejner (.tar.bz2) | Sirovi stream ili prilagođeni kontejner | Zahtijeva TAR kontejner (.tar.zst) |
| Provjera kontrolnog zbroja | 32-bitni CRC (CRC-32) | 32-bitni CRC po bloku | Nema ugrađeno u stream | 64-bitni xxHash |
Uobičajeni načini oštećenja i vodič za heksadecimalni oporavak
Pogreška ekstrakcije: 'gzip: stdin: unexpected end of file'.
Temeljni uzrok: Prijevremeni prekid prijenosa datoteke koji prekida DEFLATE stream ili 8-bajtni CRC32 podnožje.
Oporavak: Izvucite djelomični sadržaj pomoću naredbe 'gzip -d --keep broken.gz' ili File2File Gzip Extractor alata.
Sigurnosna analiza i vektori napada na parser
Gzip parseri obrađuju zaglavlja i DEFLATE bitstream-ove pod kontrolom korisnika koji moraju biti zaštićeni od dekompresijskih bombi.
Poznati vektori napada
- Dekompresijska bomba (zip bomba) koja širi megabajte Gzip podataka u stotine gigabajta prostora na disku.
- Prelijevanje međuspremnika (buffer overflow) pri čitanju opcionalnog niza izvornog naziva datoteke iz zaglavlja.
- Preljevanje cijelih brojeva tijekom usporedbe 32-bitne CRC provjere.
Najbolje obrambene prakse:
Povijesni izvori i prekretnice
Ključne prednosti
- Univerzalno mjerilo za internetsku HTTP kompresiju ('Content-Encoding: gzip') koju podržava 100% web klijenata.
- Čuva izvorne vremenske oznake izmjene datoteke i neobavezne izvorne nazive datoteka unutar zaglavlja od 10 bajtova.
- Lagan utjecaj na CPU tijekom dekompresije, radi glatko na mobilnim uređajima niske snage i usmjerivačima.
Tehnička ograničenja i nedostaci
- Kompresija samo jedne datoteke: ne može kompresirati više datoteka ili mapa bez prethodnog pakiranja u TAR kontejner.
- Omjer kompresije je niži nego kod modernih algoritama poput Brotlija i Zstandarda na modernom web tekstu.
- Polje nekomprimirane veličine u podnožju (footeru) je 32-bitno modulo 2^32, što uzrokuje greške prikaza prekoračenja (rollover) na datotekama većim od 4 GB.
Zanimljive tehničke činjenice
- Magijske oznake 0x1F 0x8B odabrane su zato što je 0x1F povijesno bio prvi bajt Unix 'compress' datoteka, dok je 0x8B identificirao Gzip.
- Više od 80% svih web stranica na internetu koristi Gzip kompresiju za isporuku web stranica preglednicima.
- Jean-loup Gailly napisao je kod za kompresiju, dok je Mark Adler napisao kod za dekompresiju (inflate); obojica su dobili nagradu ACM Software System Award.
Često postavljana tehnička pitanja
Zašto ne mogu komprimirati mapu pomoću Gzipa?
Gzip je dizajniran za kompresiju jednog niza bajtova. Za kompresiju mape, Unix sustavi prvo sakupljaju mapu u jednu .tar datoteku, a zatim je komprimiraju s Gzipom kako bi stvorili .tar.gz datoteku.
Koja je razlika između .gz i .zip?
.zip je arhivski format koji pakira više datoteka zajedno s indeksom direktorija. .gz komprimira samo jednu datoteku i obično se uparuje s tar-om na Unix sustavima.
Kako mogu dekomprimirati .gz datoteku na Windowsema ili Macu?
Koristite File2File.app za trenutnu dekompresiju .gz datoteka izravno u svom web pregledniku bez ikakve instalacije softvera.
Povezani parovi konverzije za GZ
Pretvaranje TAR arhive u GZIP arhivu omotava nesažetu zbirku datoteka u jedan sažeti tok pomoću algoritma DEFLATE bez gubitaka kako bi se drastično smanjila veličina datoteke.
Pretvaranje GZIP sažete datoteke u TAR arhivu uklanja sloj sažimanja kako bi se otkrila sirova, nesažeta zbirka datoteka i mapa.