GZIP-arkiv (.gz)

IETF Standard

Gzip (GZ) er GNU's standardkomprimeringsværktøj og filformat, der er udbredt på tværs af Unix-operativsystemer og internettets HTTP-servere til hurtig komprimering af filer og webressourcer.

Konverter TAR til GZ

Gratis TAR til GZ-konverter i browseren. Konverter filer med det samme på din enhed.

Undersøgelse og metadata

Operativsystemer og filanalysatorer identificerer GZ-filer ved at inspicere den indledende binære bytesekvens:

Vælg eller træk filer hertil

Privat - filer forlader aldrig din enhed

eller indsæt Ctrl+V
Privatlivsgaranti uden netværksoverførsel: 0 byte overført til eksterne servere. Al behandling foregik lokalt i browserens sandkasse.

Byte-niveau Header-signatur (Magic Bytes)

Operativsystemer og filanalysatorer identificerer GZ-filer ved at inspicere den indledende binære bytesekvens:

HEX-SIGNATUR (OFFSET 0):

1F 8B 08

ASCII-REPRÆSENTATION: ..\x08

Standardisering: IETF RFC 1952

Tekniske specifikationer

Containerarkitektur10-byte-header (magic 0x1F 0x8B, metode 8, flag, mtime, OS) efterfulgt af DEFLATE-strøm og 8-byte-footer
KomprimeringDEFLATE-algoritme (LZ77-glidende vindue + Huffman-kodning)
Byte-rækkefølgeLittle-Endian-heltal i header og footer
FarverumIkke relevant (arkivbeholder)
Kanaler og strukturKomprimeret bytestrøm fra én fil
Maks. dimensionerUkomprimeret størrelse gemmes modulo 2^32 (understøtter ubegrænsede strømlængder)
Gennemsigtighed100 % bitnøjagtig tabsfri databevaring
Streaming og progressivSekventiel streamingafspilning i én gennemløb over pipes og HTTP-netværk

Teknisk sammenligningsmatrix: GZ sammenlignet med konkurrenterne

Teknisk attributGZ (Aktuel)BZ2BROTLIZSTD
DekomprimeringshastighedHurtig (~300 MB/s)Langsom (~40 MB/s)Meget hurtig (~400 MB/s)Ultrahurtig (>1.5 GB/s)
Udbredt brug på nettetBred understøttelse i browsere og på servere; indholdskodningen forhandles for hver anmodningIngen understøttelse i webbrowsereUnderstøttet over HTTPS i alle browsereStigende understøttelse i browsere og på servere
Pakning af flere filer i et arkivKræver TAR-beholder (.tar.gz)Kræver TAR-beholder (.tar.bz2)Rå strøm eller tilpasset beholderKræver TAR-beholder (.tar.zst)
Kontrol af tjeksum32-bit CRC (CRC-32)32-bit CRC pr. blokIngen indbygget i strømmen64-bit xxHash

Almindelige korruptionstilstande og hex-gendannelsesvejledning

Udpakningsfejl: 'gzip: stdin: unexpected end of file'.

Grundlæggende årsag: For tidlig afslutning af filoverførsel, der afskærer DEFLATE-strømmen eller 8-byte CRC32-footeren.

Gendannelse: Udpak delvist indhold ved hjælp af 'gzip -d --keep broken.gz' eller File2File.app Gzip Extractor.

Sikkerhedsanalyse og parser-angrebsvektorer

Gzip-parsere behandler brugerkontrollerede hoveder og DEFLATE-bitstrømme, som skal beskyttes mod dekomprimeringsbomber.

Kendte angrebsvektorer

  • Dekomprimeringsbombe (zip-bombe), der udvider megabyte Gzip-data til hundredvis af gigabyte diskplads.
  • Bufferoverløb ved læsning af valgfri streng med det oprindelige filnavn fra headeren.
  • Heltalsoverløb under 32-bit CRC-tjeksammenligning.

Defensive bedste praksisser: Håndhæv stramme dekomprimeringskvoter og grænser for hukommelsesforbrug i automatiserede indtagelsestjenester.

Historisk oprindelse og milepæle

1996IETF formaliserer Gzip-filformatspecifikationen som RFC 1952.
1993Vedtaget af GNU-projektet som erstatning for det proprietære Unix-'compress'-værktøj (.Z-filer).
1992Jean-loup Gailly og Mark Adler skaber Gzip som et patentfrit komprimeringsværktøj til bevægelsen for fri software.

Vigtige fordele og styrker

  • En udbredt HTTP-indholdskodning, men klienter og servere kan forhandle andre kodninger eller helt undlade komprimering.
  • Bevarer oprindelige filændringstidsstempler og valgfrie oprindelige filnavne i 10-byte-headeren.
  • Lavt CPU-forbrug under dekomprimering, så den kører problemfrit på strømsvage mobilenheder og routere.

Tekniske begrænsninger og ulemper

  • Kun enkeltfilskomprimering: kan ikke komprimere flere filer eller mapper uden først at samle dem i en TAR-beholder.
  • Komprimeringsforholdet er lavere end for moderne algoritmer som Brotli og Zstandard på moderne webtekst.
  • Footerens felt for ukomprimeret størrelse er 32-bit modulo 2^32, hvilket forårsager visningsfejl ved talomslag for filer, der er større end 4 GB.

Interessante tekniske fakta

  • De magiske byte 0x1F 0x8B blev valgt, fordi 0x1F historisk set var den første byte i Unix 'compress'-filer, mens 0x8B identificerede Gzip.
  • Gzip er stadig et almindeligt valg til komprimering af websvar; brugen varierer efter websted og svar.
  • Jean-loup Gailly skrev komprimeringskoden, mens Mark Adler skrev dekomprimeringskoden; begge modtog ACM Software System Award.

Ofte stillede tekniske spørgsmål

Hvorfor kan jeg ikke komprimere en mappe med Gzip?

Gzip blev designet til at komprimere en enkelt strøm af bytes. For at komprimere en mappe samler Unix-systemer først mappen i en enkelt .tar-fil og komprimerer den derefter med Gzip for at oprette en .tar.gz-fil.

Hvad er forskellen mellem .gz og .zip?

.zip er et arkivformat, der pakker flere filer sammen med et mappeindeks. .gz komprimerer kun en enkelt fil og parres ofte med tar på Unix-systemer.

Hvordan kan jeg dekomprimere en .gz-fil på Windows eller Mac?

Brug File2File.app til øjeblikkeligt at dekomprimere .gz-filer direkte i din webbrowser uden at skulle installere software.