Arhiv GZIP (.gz)

IETF Standard

Gzip (GZ) je standardni pripomoček in format datoteke za stiskanje GNU, ki se splošno uporablja v operacijskih sistemih Unix in internetnih strežnikih HTTP za hitro stiskanje datotek in spletnih virov.

Pretvori TAR v GZ

Brezplačen pretvornik iz TAR v GZ v brskalniku. Pretvorite datoteke takoj v svoji napravi.

Pregled in metapodatki

Operacijski sistemi in analizatorji datotek identificirajo datoteke GZ s pregledom vodilnega binarnega zaporedja bajtov:

Izberite ali povlecite datoteke sem

100-odstotno zasebna pretvorba v brskalniku - datoteke nikoli ne zapustijo vaše naprave

ali prilepi Ctrl+V
Jamstvo o zasebnosti brez prenosa podatkov v omrežje: 0 bajtov naloženih na zunanje strežnike. Vsa obdelava je potekala lokalno v varnem območju vašega brskalnika.

Podpis glave na ravni bajtov (Čarobni bajti)

Operacijski sistemi in analizatorji datotek identificirajo datoteke GZ s pregledom vodilnega binarnega zaporedja bajtov:

PODPIS HEX (ZAMIK 0):

1F 8B 08

REPREZENTACIJA ASCII: ..\x08

Standardizacija: IETF RFC 1952

Tehnične specifikacije

Arhitektura vsebnika10-byte header (magic 0x1F 0x8B, method 8, flags, mtime, OS) followed by DEFLATE stream and 8-byte footer
StiskanjeDEFLATE algorithm (LZ77 sliding window + Huffman coding)
Vrstni red bajtovLittle-Endian header and footer integers
Barvni prostoriN/A (Archive Container)
Kanali in strukturaSingle-file compressed byte stream
Največje dimenzijeUncompressed size recorded modulo 2^32 (supports unbounded stream lengths)
Prosojnost100% bit-exact lossless data preservation
Pretočno in progresivno predvajanjeSequential single-pass streaming playback over pipes and HTTP networks

Tehnična primerjalna matrika: GZ proti konkurenci

Tehnični atributGZ (Trenutno)BZ2BROTLIZSTD
Hitrost razširjanjaHitro (~300 MB/s)Počasno (~40 MB/s)Zelo hitro (~400 MB/s)Izjemno hitro (>1,5 GB/s)
Univerzalna spletna podpora100 % vseh brskalnikov in strežnikovBrez podpore v spletnih brskalnikihPodprto prek HTTPS v vseh brskalnikihNaraščajoča podpora brskalnikov in strežnikov
Pakiranje več datotekZahteva vsebovalnik TAR (.tar.gz)Zahteva vsebovalnik TAR (.tar.bz2)Surovi pretok ali vsebovalnik po meriZahteva vsebovalnik TAR (.tar.zst)
Preverjanje vsote32-bitni CRC (CRC-32)32-bitni CRC na blokBrez vgrajenega v pretok64-bitni xxHash

Pogosti načini okvar in vodič za heksadecimalno obnovo

Napaka pri razširjanju: 'gzip: stdin: unexpected end of file'.

Glavni vzrok: Predčasna prekinitev prenosa datoteke, ki odreže pretok DEFLATE ali 8-bajtno nogo CRC32.

Sanacija: Izvlecite delne vsebine z ukazom 'gzip -d --keep broken.gz' ali uporabite ekstraktor File2File Gzip.

Varnostna analiza in napadalni vektorji razčlenjevalnika

Razčlenjevalniki Gzip obdelujejo glave, ki jih nadzoruje uporabnik, in bitne tokove DEFLATE, ki jih je treba zaščititi pred eksplozijami pri razširjanju.

Znani vektorji napada

  • Eksplozija pri razširjanju (bomba zip), ki megabajte podatkov Gzip razširi v stotine gigabajtov prostora na disku.
  • Prekoračitev medpomnilnika pri branju izbirnega niza izvirnega imena datoteke iz glave.
  • Prekoračitev celih števil med primerjavo 32-bitnega preverjanja CRC.

Obrambne najboljše prakse:

Zgodovinski izvor in mejniki

1996IETF formalizira specifikacijo oblike datoteke Gzip kot RFC 1952.
1993Projekt GNU ga sprejme kot zamenjavo za lastniški Unix pripomoček 'compress' (datoteke .Z).
1992Jean-loup Gailly in Mark Adler ustvarita Gzip kot orodje za stiskanje brez patentov za gibanje za prosto programsko opremo.

Ključne prednosti

  • Univerzalno merilo za internetno stiskanje HTTP ('Content-Encoding: gzip'), ki ga podpira 100 % spletnih odjemalcev.
  • Ohranja prvotne časovne žige sprememb datotek in izbirna prvotna imena datotek znotraj 10-bajtne glave.
  • Majhna poraba CPE med razširjanjem, gladko delovanje na mobilnih napravah z nizko porabo energije in usmerjevalnikih.

Tehnične omejitve in slabosti

  • Stiskanje samo ene datoteke: ne more stisniti več datotek ali map, ne da bi jih najprej združili v vsebovalnik TAR.
  • Razmerje stiskanja je nižje kot pri sodobnih algoritmih, kot sta Brotli in Zstandard, na sodobnem spletnem besedilu.
  • Polje velikosti nestisnjenega dela v nogi je 32-bitno modulo 2^32, kar povzroča napake pri prikazu vrtenja v datotekah, večjih od 4 GB.

Zanimive tehnične malenkosti

  • Magična bajta 0x1F 0x8B sta bili izbrani, ker je bil 0x1F zgodovinsko prvi bajt datotek Unix 'compress', medtem ko je 0x8B označeval Gzip.
  • Več kot 80 % vseh spletnih mest na internetu uporablja stiskanje Gzip za dostavo spletnih strani brskalnikom.
  • Jean-loup Gailly je napisal kodo za stiskanje, Mark Adler pa kodo za razširjanje (inflate); oba sta prejela nagrado ACM Software System Award.

Pogosta tehnična vprašanja

Zakaj ne morem stisniti mape z Gzip?

Gzip je zasnovan za stiskanje enega samega toka bajtov. Za stiskanje mape sistemi Unix najprej združijo mapo v eno datoteko .tar, nato pa jo stisnejo z Gzip, da ustvarijo datoteko .tar.gz.

Kakšna je razlika med .gz in .zip?

.zip je arhivski format, ki pakira več datotek skupaj z indeksom imenika. .gz stiska samo eno datoteko in se v sistemih Unix običajno uporablja v kombinaciji s tar.

Kako lahko dekompresiram datoteko .gz v sistemu Windows ali Mac?

Uporabite File2File.app za takojšnjo dekompresijo datotek .gz neposredno v spletnem brskalniku brez namestitve programske opreme.