GZIP arhiiv (.gz)

IETF Standard

Gzip (GZ) on standardne GNU pakkimisutiliit ja failivorming, mida kasutatakse universaalselt Unixi operatsioonisüsteemides ja interneti HTTP-serverites failide ning veebivarade kiireks pakkimiseks.

Teisenda formaadist TAR formaati GZ

Tasuta TAR -> GZ konverter brauseris. Teisenda faile koheselt oma seadmes.

Kontrolli ja metaandmed

Operatsioonisüsteemid ja failianalüsaatorid tuvastavad GZ faile, kontrollides algset binaarset baidijada:

Vali või lohista failid siia

100% privaatne konversioon brauseris - failid ei lahku kunagi sinu seadmest

või kleebi Ctrl+V
Null-võrguülekande privaatsusgarantii: 0 baiti laaditakse üles välistesse serveritesse. Kogu töötlemine toimub lokaalselt sinu brauseri liivakastis.

Baidi-taseme päise allkiri (maagilised baidid)

Operatsioonisüsteemid ja failianalüsaatorid tuvastavad GZ faile, kontrollides algset binaarset baidijada:

HEX-ALLKIRI (NIHE 0):

1F 8B 08

ASCII-ESITUS: ..\x08

Standardiseerimine: IETF RFC 1952

Tehnilised andmed

Konteineri arhitektuur10-byte header (magic 0x1F 0x8B, method 8, flags, mtime, OS) followed by DEFLATE stream and 8-byte footer
TihendamineDEFLATE algorithm (LZ77 sliding window + Huffman coding)
Baitide järjekord (Endianness)Little-Endian header and footer integers
VärviruumidN/A (Archive Container)
Kanalid ja struktuurSingle-file compressed byte stream
Max mõõtmedUncompressed size recorded modulo 2^32 (supports unbounded stream lengths)
Läbipaistvus100% bit-exact lossless data preservation
Voogedastus ja progressiivsusSequential single-pass streaming playback over pipes and HTTP networks

Tehniline võrdlusmaatriks: GZ vs konkurendid

Tehniline atribuutGZ (Praegune)BZ2BROTLIZSTD
Dekompressiooni kiirusKiire (~300 MB/s)Aeglane (~40 MB/s)Väga kiire (~400 MB/s)Ülikiire (>1.5 GB/s)
Universaalne veebitugi100% kõigist brauseritest ja serveritestVeebibrauseri tugi puudubToetatud HTTPS-i kaudu kõigis brauseritesKasvav brauserite ja serverite tugi
Mitme faili pakkimineNõuab TAR-kontainerit (.tar.gz)Nõuab TAR-kontainerit (.tar.bz2)Toores voog või kohandatud kontainerNõuab TAR-kontainerit (.tar.zst)
Kontrollsumma kontroll32-bitine CRC (CRC-32)Blokipõhine 32-bitine CRCVoolus puudub sisseehitatud kontroll64-bitine xxHash

Levinud riknemisvead ja heksataaste juhend

Lahtipakkimise viga: 'gzip: stdin: unexpected end of file'.

Juurpõhjus: Enneaegne failiedastuse katkestus, mis lõikas ära DEFLATE voo või 8-baidise CRC32 jaluse.

Taastamine: Eraldage osaline sisu käsu 'gzip -d --keep broken.gz' või File2File Gzip Extractor abil.

Turvaanalüüs ja parsimisründevektorid

Gzipi parserid töötlevad kasutaja kontrollitud päiseid ja DEFLATE bitivooge, mida tuleb kaitsta dekompressioonipommide eest.

Teadaolevad ründavektorid

  • Dekompressioonipomm (zip bomb), mis paisutab megabaidid Gzipi andmeid sadadeks gigabaidideks kettaruumiks.
  • Puhvri ületäitumine päisest valikulise algse failinime stringi lugemisel.
  • Täisarvu ületäitumine 32-bitise CRC kontrollsumma võrdluse ajal.

Kaitsealased parimad tavad:

Ajalooline taust ja verstapostid

1996IETF kinnitab Gzipi failivormingu spetsifikatsiooni standardina RFC 1952.
1993GNU projekt võtab selle kasutusele, et asendada litsentsiga Unixi utiliit 'compress' (.Z failid).
1992Jean-loup Gailly ja Mark Adler loovad Gzipi vaba tarkvara liikumise jaoks patendivaba pakkimistööriistana.

Peamised eelised

  • Interneti HTTP-pakkimise universaalne etalon ('Content-Encoding: gzip'), mida toetavad 100% veebiklientidest.
  • Säilitab 10-baidises päises algse faili muutmise ajatempli ja valikulise algse failinime.
  • Kerge protsessorikoormus dekompressioonil, tagades sujuva töö väikese võimsusega mobiilseadmetes ja ruuterites.

Tehnilised piirangud ja puudused

  • Ainult ühele failile mõeldud pakkimine: ei saa tihendada mitut faili ega kataloogi ilma neid eelnevalt TAR-kontainerisse pakkimata.
  • Pakkimissuhe on tänapäevaste veebitekstide puhul madalam kui uuematel algoritmidel nagu Brotli ja Zstandard.
  • Jaluses asuv pakkimata suuruse väli on 32-bitine modulo 2^32, mis põhjustab suuremate kui 4 GB failide korral kuva tõrkeid.

Huvitavaid tehnilisi fakte

  • Maagilised baidid 0x1F 0x8B valiti seetõttu, et 0x1F oli ajalooliselt Unixi 'compress' failide esimene bait, samas kui 0x8B tuvastas Gzipi.
  • Üle 80% kõigist interneti veebisaitidest kasutab Gzipi pakkimist veebilehtede edastamiseks brauseritele.
  • Jean-loup Gailly kirjutas pakkimiskoodi, samas kui Mark Adler kirjutas dekompressiooni (inflate) koodi; mõlemad said ACM Software System Awardi auhinna.

Korduma kippuvad tehnilised küsimused

Miks ma ei saa kausta Gzipiga tihendada?

Gzip loodi ühtse baidivoo tihendamiseks. Kausta tihendamiseks pakivad Unixi süsteemid kausta esmalt üheks .tar-failiks ja tihendavad selle seejärel Gzipiga, et luua .tar.gz-fail.

Mis vahe on .gz- ja .zip-failil?

.zip on arhiivivorming, mis pakendab mitu faili kokku kataloogindeksiga. .gz pakib ainult ühe faili ja seda seostatakse Unixi süsteemides tavaliselt tar-iga.

Kuidas ma saan Windowsis või Macis .gz-faili lahti pakkida?

Kasutage rakendust File2File.app, et .gz-failid otse oma veebibrauseris silmapilkselt ja tarkvara installimata lahti pakkida.