GZIP-arkiv (.gz)
IETF StandardGzip (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:
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 08ASCII-REPRÆSENTATION: ..\x08
Standardisering: IETF RFC 1952
Tekniske specifikationer
| Containerarkitektur | 10-byte-header (magic 0x1F 0x8B, metode 8, flag, mtime, OS) efterfulgt af DEFLATE-strøm og 8-byte-footer |
| Komprimering | DEFLATE-algoritme (LZ77-glidende vindue + Huffman-kodning) |
| Byte-rækkefølge | Little-Endian-heltal i header og footer |
| Farverum | Ikke relevant (arkivbeholder) |
| Kanaler og struktur | Komprimeret bytestrøm fra én fil |
| Maks. dimensioner | Ukomprimeret størrelse gemmes modulo 2^32 (understøtter ubegrænsede strømlængder) |
| Gennemsigtighed | 100 % bitnøjagtig tabsfri databevaring |
| Streaming og progressiv | Sekventiel streamingafspilning i én gennemløb over pipes og HTTP-netværk |
Teknisk sammenligningsmatrix: GZ sammenlignet med konkurrenterne
| Teknisk attribut | GZ (Aktuel) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| Dekomprimeringshastighed | Hurtig (~300 MB/s) | Langsom (~40 MB/s) | Meget hurtig (~400 MB/s) | Ultrahurtig (>1.5 GB/s) |
| Udbredt brug på nettet | Bred understøttelse i browsere og på servere; indholdskodningen forhandles for hver anmodning | Ingen understøttelse i webbrowsere | Understøttet over HTTPS i alle browsere | Stigende understøttelse i browsere og på servere |
| Pakning af flere filer i et arkiv | Kræver TAR-beholder (.tar.gz) | Kræver TAR-beholder (.tar.bz2) | Rå strøm eller tilpasset beholder | Kræver TAR-beholder (.tar.zst) |
| Kontrol af tjeksum | 32-bit CRC (CRC-32) | 32-bit CRC pr. blok | Ingen indbygget i strømmen | 64-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
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.