GZIP-archief (.gz)

IETF Standaard

Gzip (GZ) is de compressietool van GNU en een veelgebruikt bestandsformaat op Unix-achtige systemen en HTTP-servers voor bestanden en webassets.

TAR naar GZ converteren

Gratis TAR-naar-GZ-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen GZ-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen GZ-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

1F 8B 08

ASCII-WEERGAVE: ..\x08

Standaardisatie: IETF RFC 1952

Technische specificaties

ContainerarchitectuurHeader van 10 bytes (bestandshandtekening 0x1F 0x8B, methode 8, vlaggen, mtime, OS), gevolgd door een DEFLATE-stream en een footer van 8 bytes
CompressieDEFLATE-algoritme (LZ77-schuifvenster + Huffman-codering)
Bytevolgorde (endianness)Little-Endian-integers voor header en footer
KleurruimtenN.v.t. (archiefcontainer)
Kanalen en structuurGecomprimeerde bytestream voor één bestand
Maximale afmetingenNiet-gecomprimeerde grootte geregistreerd modulo 2^32 (ondersteunt onbegrensde streamlengtes)
Transparantie100% bitexact, verliesvrij behoud van gegevens
Streaming en progressiefSequentiële streaming in één doorgang via pipes en HTTP-netwerken

Technische vergelijkingsmatrix: GZ versus concurrenten

Technisch kenmerkGZ (Huidig)BZ2BROTLIZSTD
DecompressiesnelheidSnel (~300 MB/s)Traag (~40 MB/s)Zeer snel (~400 MB/s)Ultrasnel (>1,5 GB/s)
Breed webgebruikBrede ondersteuning in browsers en servers; inhoudscodering wordt per verzoek onderhandeldGeen ondersteuning in webbrowsersOndersteund door veel browsers via HTTPS; versieondersteuning verschiltGroeiende browser- en serverondersteuning
Verpakking voor meerdere bestandenVereist een TAR-container (.tar.gz)Vereist een TAR-container (.tar.bz2)Onbewerkte stream of aangepaste containerVereist een TAR-container (.tar.zst)
Controlesomverificatie32-bits CRC (CRC-32)32-bits CRC per blokGeen ingebouwde controlesom64-bits xxHash

Veelvoorkomende beschadigingen en gids voor hex-herstel

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

Oorzaak: Voortijdige beëindiging van de bestandsoverdracht, waardoor de DEFLATE-stream of de CRC32-footer van 8 bytes is afgekapt.

Herstel: Pak een deel van de inhoud uit met 'gzip -d --keep broken.gz' of met de Gzip Extractor van File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

Gzip-parsers verwerken headers en DEFLATE-bitstreams die door de gebruiker worden bepaald en die moeten worden beschermd tegen decompressiebommen.

Bekende aanvalsvectoren

  • Decompressiebom (zip bomb) die megabytes aan Gzip-gegevens uitbreidt tot honderden gigabytes aan schijfruimte.
  • Bufferoverflow bij het lezen van de optionele tekenreeks met de oorspronkelijke bestandsnaam uit de header.
  • Integeroverloop tijdens de vergelijking van de 32-bit CRC-controle.

Aanbevolen beveiligingspraktijken: Handhaaf strikte decompressiequota en geheugenlimieten in geautomatiseerde verwerkingsdiensten.

Historische oorsprong en mijlpalen

1996IETF formaliseert de specificatie van het Gzip-bestandsformaat als RFC 1952.
1993Overgenomen door het GNU-project ter vervanging van de propriëtaire Unix-tool 'compress' (.Z-bestanden).
1992Jean-loup Gailly en Mark Adler ontwikkelen Gzip als octrooivrije compressietool voor de vrijesoftwarebeweging.

Belangrijkste voordelen

  • Een veelgebruikte HTTP-inhoudscodering, al kunnen clients en servers per verzoek andere coderingen of geen compressie afspreken.
  • Behoudt de oorspronkelijke tijdstempels van bestandswijzigingen en optionele oorspronkelijke bestandsnamen in de header van 10 bytes.
  • De decompressie belast de CPU weinig en werkt soepel op mobiele apparaten met weinig vermogen en op routers.

Technische beperkingen

  • Alleen compressie van één bestand: meerdere bestanden of mappen kunnen pas worden gecomprimeerd nadat ze eerst in een TAR-container zijn gebundeld.
  • Compressieverhouding is lager dan bij moderne algoritmen zoals Brotli en Zstandard op moderne webtekst.
  • Het veld voor de niet-gecomprimeerde grootte in de footer is 32-bits modulo 2^32, wat overloopfouten in de weergave veroorzaakt bij bestanden groter dan 4 GB.

Interessante technische weetjes

  • De bestandshandtekening (magic bytes) 0x1F 0x8B is gekozen omdat 0x1F historisch gezien de eerste byte was van bestanden van Unix 'compress', terwijl 0x8B Gzip identificeerde.
  • Gzip blijft een veelgebruikte keuze voor het comprimeren van webreacties; het gebruik verschilt per site en reactie.
  • Jean-loup Gailly schreef de compressiecode terwijl Mark Adler de decompressiecode (inflate) schreef; beiden ontvingen de ACM Software System Award.

Veelgestelde technische vragen

Waarom kan ik geen map comprimeren met Gzip?

Gzip is ontworpen om één enkele bytestroom te comprimeren. Om een map te comprimeren, bundelen Unix-systemen de map eerst in een enkel .tar-bestand en comprimeren ze dit vervolgens met Gzip om een .tar.gz-bestand te maken.

Wat is het verschil tussen .gz en .zip?

.zip is een archiefformaat dat meerdere bestanden samenbundelt met een mapindex. .gz comprimeert slechts één bestand en wordt op Unix-systemen vaak gecombineerd met tar.

Hoe kan ik een .gz-bestand uitpakken op Windows of Mac?

Gebruik File2File.app om .gz-bestanden direct in uw webbrowser uit te pakken zonder software te installeren.