GZIP-arkiv (.gz)
IETF StandardGzip (GZ) er GNU-standardverktøyet og filformatet for komprimering, utbredt på tvers av Unix-operativsystemer og HTTP-servere for rask komprimering av filer og nettinnhold.
Konverter TAR til GZ
Gratis TAR til GZ-konverterer i nettleseren. Konverter filer umiddelbart på enheten din.
Inspeksjon og metadata
Operativsystemer og filanalysatorer identifiserer GZ-filer ved å undersøke den innledende binære bytesekvensen:
Filsignatur på bytenivå (magiske byte)
Operativsystemer og filanalysatorer identifiserer GZ-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
1F 8B 08ASCII-REPRESENTASJON: ..\x08
Standardisering: IETF RFC 1952
Tekniske spesifikasjoner
| Beholderarkitektur | Header på 10 byte (magisk tall 0x1F 0x8B, metode 8, flagg, mtime, OS), etterfulgt av en DEFLATE-strøm og en avslutning på 8 byte |
| Komprimering | DEFLATE-algoritmen (LZ77-glidende vindu + Huffman-koding) |
| Bytterekkefølge | Little-endian-heltall i header og footer |
| Fargerom | Ikke relevant (arkivbeholder) |
| Kanaler og struktur | Komprimert bytestrøm for én fil |
| Maks. dimensjoner | Ukomprimert størrelse lagres modulo 2^32 (strømmen kan ha ubegrenset lengde) |
| Gjennomsiktighet | Tapsfri databevaring med nøyaktig samsvar på bitnivå |
| Strømming og progressiv visning | Sekvensiell strømming i én gjennomgang via pipes og HTTP-nettverk |
Teknisk sammenligningsmatrise: GZ sammenlignet med konkurrenter
| Teknisk attributt | GZ (Gjeldende) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| Dekomprimeringsfart | Rask (~300 MB/s) | Treg (~40 MB/s) | Veldig rask (~400 MB/s) | Ultrarask (>1,5 GB/s) |
| Utbredt bruk på nettet | God støtte i nettlesere og på servere; valg av innholdskoding forhandles for hver forespørsel | Ingen støtte i nettlesere | Støttes av mange nettlesere via HTTPS; støtte avhenger av versjon | Økende støtte i nettlesere og på servere |
| Pakking av flere filer | Krever TAR-arkiv (.tar.gz) | Krever TAR-arkiv (.tar.bz2) | Rå strøm eller tilpasset beholder | Krever TAR-arkiv (.tar.zst) |
| Sjekksumverifisering | 32-bit CRC (CRC-32) | 32-bits CRC per blokk | Ingen innebygd i straumen | 64-bit xxHash |
Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning
Utpakkingsfeil: «gzip: stdin: unexpected end of file».
Underliggende årsak: For tidlig avslutning av filoverføringen kutter av DEFLATE-strømmen eller 8-byte CRC32-bunnteksten.
Utbedring: Hent ut delvis innhold med 'gzip -d --keep broken.gz' eller File2File.app Gzip Extractor.
Sikkerhetsanalyse og angrepsvektorer mot parsere
Gzip-tolkere behandler brukerkontrollerte topptekster og DEFLATE-bitstrømmer som må beskyttes mot dekompresjonsbomber.
Kjente angrepsvektorer
- Dekompresjonsbombe (zip-bombe) som utvider megabyte med Gzip-data til hundrevis av gigabyte diskplass.
- Buffer-overflyt ved lesing av en valgfri streng med det opprinnelige filnavnet fra toppteksten.
- Heltallsoverflyt under sammenligning av 32-bit CRC-sjekksummer.
Anbefalte sikkerhetstiltak: Håndhev strenge kvoter for dekomprimering og grenser for minnebruk i automatiserte datainntakstjenester.
Historisk opprinnelse og milepæler
Viktige fordeler
- En utbredt HTTP-innholdskoding, men klienter og servere kan forhandle fram andre kodinger eller ingen komprimering.
- Bevarer det opprinnelige endringstidspunktet for filen og et valgfritt opprinnelig filnavn i 10-byte-toppteksten.
- Lav CPU-belastning under dekomprimering, også på strømsvake mobilenheter og rutere.
Tekniske begrensninger og ulemper
- Komprimerer bare enkeltfiler: kan ikke komprimere flere filer eller mapper uten først å samle dem i et TAR-arkiv.
- Komprimeringsgraden er lavere enn for moderne algoritmer som Brotli og Zstandard på moderne nettbasert tekst.
- Det ukomprimerte størrelsesfeltet i bunnteksten er 32-bit modulo 2^32, noe som fører til visningsfeil for filer større enn 4 GB.
Interessante tekniske fakta
- De magiske byteverdiene 0x1F 0x8B ble valgt fordi 0x1F historisk var den første byten i Unix' «compress»-filer, mens 0x8B identifiserte Gzip.
- Gzip er fortsatt et vanlig valg for komprimering av nettsvar; bruken varierer mellom nettsteder og svar.
- Jean-loup Gailly skrev komprimeringskoden, mens Mark Adler skrev dekomprimeringskoden (inflate); begge mottok ACM Software System Award.
Ofte stilte tekniske spørsmål
Hvorfor kan jeg ikke komprimere en mappe med Gzip?
Gzip ble laget for å komprimere én enkelt byte-strøm. For å komprimere en mappe samler Unix-systemer først filene i én .tar-fil og komprimerer den deretter med Gzip for å lage en .tar.gz-fil.
Hva er forskjellen mellom .gz og .zip?
.zip er et arkivformat som samler flere filer sammen med en katalogindeks. .gz komprimerer bare én fil og brukes ofte sammen med tar på Unix-systemer.
Hvordan kan jeg dekomprimere en .gz-fil på Windows eller Mac?
Bruk File2File.app til å dekomprimere .gz-filer direkte i nettleseren, uten å installere programvare.