GZIP arhiva (.gz)

IETF Standard

Gzip (GZ) je standardni GNU uslužni program i format datoteke za kompresiju, primenjen na Unix operativnim sistemima i internet HTTP serverima za brzu kompresiju datoteka i veb resursa.

Konvertujte TAR u GZ

Besplatan konvertor TAR u GZ u pregledaču. Konvertujte datoteke odmah na svom uređaju.

Pregled i metapodaci

Operativni sistemi i analizatori datoteka identifikuju GZ datoteke proverom početnog binarnog niza bajtova:

Izaberite ili prevucite datoteke ovde

Privatno - datoteke nikada ne napuštaju vaš uređaj

ili nalepite Ctrl+V
Garancija privatnosti: bez prenosa podataka preko mreže 0 bajtova poslato spoljnim serverima. Sva obrada je izvršena lokalno u bezbednom okruženju vašeg pregledača.

Potpis zaglavlja na nivou bajtova (magični bajtovi)

Operativni sistemi i analizatori datoteka identifikuju GZ datoteke proverom početnog binarnog niza bajtova:

HEKSADECIMALNI POTPIS (OFFSET 0):

1F 8B 08

ASCII REPREZENTACIJA: ..\x08

Standardizacija: IETF RFC 1952

Tehničke specifikacije

Arhitektura kontejneraZaglavlje od 10 bajtova (potpis 0x1F 0x8B, metod 8, zastavice, mtime, OS), zatim DEFLATE tok i podnožje od 8 bajtova
KompresijaAlgoritam DEFLATE (klizni LZ77 prozor i Huffmanovo kodiranje)
Bajtni redosled (Endianness)Celobrojne vrednosti u zaglavlju i podnožju zapisane su redosledom bajtova od najmanje značajnog ka najznačajnijem
Prostori bojaNije primenljivo (arhivski kontejner)
Kanali i strukturaKompresovani bajtni tok jedne datoteke
Maksimalne dimenzijeNekomprimovana veličina beleži se po modulu 2^32 (podržava neograničenu dužinu toka)
TransparentnostPotpuno očuvanje podataka bez gubitaka i uz potpuno podudaranje bitova
Strimovanje i progresivno učitavanjeSekvencijalni prenos u jednom prolazu preko cevi i HTTP mreža

Tehnička matrica poređenja: GZ u odnosu na konkurente

Tehnički atributGZ (Trenutno)BZ2BROTLIZSTD
Brzina dekompresijeBrza (~300 MB/s)Spora (~40 MB/s)Vrlo brza (~400 MB/s)Izuzetno brza (>1.5 GB/s)
Široka upotreba na vebuŠiroka podrška u pregledačima i serverima; kodiranje sadržaja dogovara se za svaki zahtevNema podršku u veb pretraživačimaPodržano u mnogim pregledačima preko HTTPS-a; podrška zavisi od verzijeRastuća podrška u pretraživačima i serverima
Pakovanje više datotekaZahteva TAR kontejner (.tar.gz)Zahteva TAR kontejner (.tar.bz2)Sirovi strim ili prilagođeni kontejnerZahteva TAR kontejner (.tar.zst)
Verifikacija kontrolne sume32-bitni CRC (CRC-32)32-bitni CRC po blokuNema ugrađeno u strim64-bitni xxHash

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Greška pri ekstrakciji: 'gzip: stdin: unexpected end of file'.

Osnovni uzrok: Prevremeni prekid prenosa datoteke koji odseca DEFLATE strim ili 8-bajtno CRC32 podnožje.

Oporavak: Izvucite delimičan sadržaj pomoću komande 'gzip -d --keep broken.gz' ili File2File.app Gzip ekstraktera.

Bezbednosna analiza i vektori napada parsera

Gzip paseri obrađuju zaglavlja pod kontrolom korisnika i DEFLATE bitstrimove koji moraju biti zaštićeni od bombi dekompresije.

Poznati vektori napada

  • Bomba dekompresije (zip bomba) koja širi megabajte Gzip podataka u stotine gigabajta prostora na disku.
  • Prekoračenje bafera (buffer overflow) pri čitanju opcionalne niske originalnog imena datoteke iz zaglavlja.
  • Prekoračenje celobrojne vrednosti tokom poređenja 32-bitne CRC provere.

Najbolje prakse za zaštitu: Nametnite stroge kvote dekompresije i granice memorije u automatizovanim servisima za unos podataka.

Istorijat i prekretnice

1996IETF formalizuje specifikaciju Gzip formata datoteke kao RFC 1952.
1993Usvojen od strane GNU projekta kao zamena za vlasnički Unix 'compress' uslužni program (.Z datoteke).
1992Žan-Lup Gajli i Mark Adler stvaraju Gzip kao alat za kompresiju bez patenata za pokret slobodnog softvera.

Ključne prednosti

  • Široko podržano HTTP kodiranje sadržaja, mada klijenti i serveri mogu da dogovore drugo kodiranje ili da ne koriste kompresiju.
  • Čuva originalne vremenske oznake izmena datoteke i opcionalna originalna imena datoteka unutar zaglavlja od 10 bajtova.
  • Malo opterećuje procesor tokom dekompresije i nesmetano radi na mobilnim uređajima male snage i ruterima.

Tehnička ograničenja i nedostaci

  • Kompresija samo jedne datoteke: ne može da kompresuje više datoteka ili direktorijuma bez prethodnog pakovanja u TAR kontejner.
  • Odnos kompresije je niži u poređenju sa modernim algoritmima kao što su Brotli i Zstandard na modernom veb tekstu.
  • Polje veličine nekompresovanog sadržaja u podnožju je 32-bitni ostatak po modulu 2^32, što uzrokuje greške u prikazu prekoračenja na datotekama većim od 4 GB.

Zanimljivosti

  • Magični bajtovi 0x1F 0x8B izabrani su zato što je 0x1F istorijski bio prvi bajt Unix 'compress' datoteka, dok je 0x8B identifikovao Gzip.
  • Gzip je i dalje uobičajen izbor za kompresiju veb-odgovora; njegova upotreba zavisi od sajta i sadržaja odgovora.
  • Žan-Lup Gajli (Jean-loup Gailly) je napisao 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 da kompresujem fasciklu (folder) pomoću Gzip-a?

Gzip je dizajniran da kompresuje jedan tok bajtova. Da bi kompresovali fasciklu, Unix sistemi prvo pakuju fasciklu u jednu .tar datoteku, a zatim je kompresuju pomoću Gzip-a da bi napravili .tar.gz datoteku.

Koja je razlika između .gz i .zip?

.zip je arhivski format koji pakuje više datoteka zajedno sa indeksom direktorijuma. .gz kompresuje samo jednu datoteku i obično se uparuje sa tar-om na Unix sistemima.

Kako mogu da dekompresujem .gz datoteku na Windows-u ili Mac-u?

Koristite File2File.app da trenutno dekompresujete .gz datoteke direktno u Vašem veb pretraživaču bez ikakve instalacije softvera.