GZIP arhīvs (.gz)

IETF Standarts

Gzip (GZ) ir standarta GNU saspiešanas utilīta un failu formāts, kas universāli izvietots Unix operētājsistēmās un interneta HTTP serveros ātrai failu un tīmekļa resursu saspiešanai.

Konvertēt TAR uz GZ

Bezmaksas TAR uz GZ konvertētājs pārlūkprogrammā. Konvertējiet failus uzreiz savā ierīcē.

Pārbaudīt un metadati

Operētājsistēmas un failu analizatori identificē GZ failus, pārbaudot sākotnējo bināro baitu secību:

Atlasiet vai velciet failus šeit

100% privāta konvertēšana pārlūkprogrammā - faili nekad neatstāj jūsu ierīci

vai ielīmējiet Ctrl+V
Privātuma garantija bez datu pārraides tīklā: 0 baitu augšupielādēti ārējos serveros. Visa apstrāde notika lokāli jūsu pārlūkprogrammas smilškastē.

Baitu līmeņa galvenes paraksts (maģiskie baiti)

Operētājsistēmas un failu analizatori identificē GZ failus, pārbaudot sākotnējo bināro baitu secību:

HEKSADECIMĀLAIS PARAKSTS (NOBĪDE 0):

1F 8B 08

ASCII ATTEIOLOJUMS: ..\x08

Standartizācija: IETF RFC 1952

Tehniskās specifikācijas

Konteinera arhitektūra10-byte header (magic 0x1F 0x8B, method 8, flags, mtime, OS) followed by DEFLATE stream and 8-byte footer
SaspiešanaDEFLATE algorithm (LZ77 sliding window + Huffman coding)
Baitu secībaLittle-Endian header and footer integers
Krāsu telpasN/A (Archive Container)
Kanāli un struktūraSingle-file compressed byte stream
Maks. izmēriUncompressed size recorded modulo 2^32 (supports unbounded stream lengths)
Caurspīdīgums100% bit-exact lossless data preservation
Straumēšana un progresīvā ielādeSequential single-pass streaming playback over pipes and HTTP networks

Tehniskā salīdzinājuma matrica: GZ pret konkurentiem

Tehniskais atribūtsGZ (Pašreizējais)BZ2BROTLIZSTD
Atkausēšanas ātrumsĀtrs (~300 MB/s)Lēns (~40 MB/s)Ļoti ātrs (~400 MB/s)Īpaši ātrs (>1,5 GB/s)
Universāla tīmekļa adopcija100% no visām pārlūkprogrammām un serveriemNulles tīmekļa pārlūkprogrammas atbalstsAtbalstīts, izmantojot HTTPS visās pārlūkprogrammāsAugošs pārlūkprogrammu un serveru atbalsts
Vairāku failu iepakošanaNepieciešams TAR konteiners (.tar.gz)Nepieciešams TAR konteiners (.tar.bz2)Neapstrādāta straume vai pielāgots konteinersNepieciešams TAR konteiners (.tar.zst)
Kontroles summas verifikācija32 bitu CRC (CRC-32)32 bitu CRC katram blokamNav iebūvēts straumē64 bitu xxHash

Biežākie bojājumu veidi un heksadecimālās atkopšanas ceļvedis

Izvilkšanas kļūda: 'gzip: stdin: unexpected end of file'.

Pamatcēlonis: Priekšlaicīga failu pārsūtīšanas pārtraukšana, kas nogriež DEFLATE straumi vai 8 baitu CRC32 kājiņu.

Atkopšana: Izvelciet daļēju saturu, izmantojot 'gzip -d --keep broken.gz' vai File2File Gzip Extractor.

Drošības analīze un parsētāja uzbrukuma vektori

Gzip parsētāji apstrādā lietotāja kontrolētas galvenes un DEFLATE bitu straumes, kuras ir jāaizsargā pret atkausēšanas bombām.

Zināmie uzbrukuma vektori

  • Atkausēšanas bumba (zip bomb), kas paplašina megabaitus Gzip datu simtos gigabaitu diska vietas.
  • Bufera pārpilde, nolasot izvēles oriģinālā faila nosaukuma virkni no galvenes.
  • Veselu skaitļu pārpilde 32 bitu CRC pārbaudes salīdzinājuma laikā.

Aizsardzības labākā prakse:

Vēsturiskā izcelsme un pavērsieni

1996IETF formalizē Gzip failu formāta specifikāciju kā RFC 1952.
1993GNU projekts to pieņem, lai aizstātu patentēto Unix 'compress' utilītu (.Z failus).
1992Žans-lūps Gailijs un Marks Adlers izveido Gzip kā no patentiem brīvu saspiešanas rīku brīvās programmatūras kustībai.

Galvenās priekšrocības un plusi

  • Universāls interneta HTTP saspiešanas etalons ('Content-Encoding: gzip'), kuru atbalsta 100% tīmekļa klientu.
  • Saglabā sākotnējā faila modificēšanas laika zīmogus un izvēles oriģinālos failu nosaukumus 10 baitu galvenē.
  • Viegls procesora resurss atkausēšanas laikā, kas vienmērīgi darbojas mazjaudas mobilajās ierīcēs un maršrutētājos.

Tehniskie ierobežojumi un mīnusi

  • Tikai viena faila saspiešana: nevar saspiest vairākus failus vai direktorijus, vispirms neapvienojot tos TAR konteinerā.
  • Saspiešanas koeficients ir zemāks nekā mūsdienu algoritmiem, piemēram, Brotli un Zstandard, uz mūsdienu tīmekļa teksta.
  • Kājiņas nesaspiestā izmēra lauks ir 32 bitu modulo 2^32, kas izraisa ciklisku attēlošanas kļūdu failiem, kas lielāki par 4 GB.

Interesanti tehniski fakti

  • Maģiskie baiti 0x1F 0x8B tika izvēlēti tāpēc, ka 0x1F vēsturiski bija Unix 'compress' failu pirmais baits, savukārt 0x8B identificēja Gzip.
  • Vairāk nekā 80% visu interneta vietņu izmanto Gzip saspiešanu, lai piegādātu tīmekļa lapas pārlūkprogrammām.
  • Žans-lūps Gailijs uzrakstīja saspiešanas kodu, bet Marks Adlers uzrakstīja atkausēšanas (inflate) kodu; abi saņēma ACM Software System balvu.

Bieži uzdotie tehniskie jautājumi

Kāpēc es nevaru saspiest mapi ar Gzip?

Gzip tika izstrādāts, lai saspiestu vienu baitu plūsmu. Lai saspiestu mapi, Unix sistēmas vispirms apvieno mapi vienā .tar failā un pēc tam saspiež to ar Gzip, izveidojot .tar.gz failu.

Kāda ir atšķirība starp .gz un .zip?

.zip ir arhīva formāts, kas apvieno vairākus failus kopā ar direktoriju indeksu. .gz saspiež tikai vienu failu un Unix sistēmās parasti tiek lietots kopā ar tar.

Kā es varu atspiest .gz failu operētājsistēmā Windows vai Mac?

Izmantojiet File2File.app, lai uzreiz atspiestu .gz failus tieši savā tīmekļa pārlūkprogrammā bez programmatūras instalēšanas.