Was ist GZIP-Kompression?
GZIP ist ein verlustfreies Datenkompressionsformat, das durch RFC 1952 definiert ist. Es kapselt eine Nutzlast, die vom Algorithmus DEFLATE (RFC 1951) erzeugt wird, der LZ77-Rückwärtsreferenzen mit Huffman-Codierung kombiniert, um sich wiederholende Daten zu einem kompakten Byte-Strom zu schrumpfen.
Wie funktioniert die GZIP-Kompression?
Ihre Eingabe wird vollständig in Ihrem Browser mit der nativen CompressionStream('gzip')-API verarbeitet. Die wichtigsten Schritte sind:
- Das Tool wandelt Ihren Text oder Ihre Datei in einen Byte-Strom um (UTF-8 für Texteingaben).
- Diese Bytes werden durch einen
CompressionStreamgeleitet, der für das Formatgzipkonfiguriert ist. - Der Browser wendet DEFLATE an: Ein LZ77-Durchlauf mit gleitendem Fenster findet wiederholte Sequenzen, und die Huffman-Codierung weist häufigen Symbolen kürzere Codes zu.
- Um die DEFLATE-Nutzlast wird ein 10 Byte langer gzip-Header und ein 8 Byte langer Footer (CRC32 der Originaldaten plus die Originallänge modulo 2^32) gewickelt, wodurch ein standardmäßiger .gz-Container entsteht.
- Das Ergebnis wird bei Texteingaben als Base64 oder Hex dargestellt oder bei binären Eingaben als herunterladbare .gz-Datei angeboten.
Warum mit GZIP komprimieren?
- Kleinere Nutzlasten: Text, JSON, HTML, CSS und Quellcode schrumpfen typischerweise auf einen Bruchteil ihrer ursprünglichen Größe.
- Industriestandard: GZIP wird von praktisch jedem HTTP-Server, CDN, Browser, Archivierungstool und der Standardbibliothek nahezu jeder Programmiersprache verstanden.
- Datenschutz: Die Kompression findet vollständig in Ihrem Browser statt. Die Eingabe erreicht niemals unsere Server.
- Roundtrip-tauglich: Die Ausgabe lässt sich mit der CLI
gunzip, mit HTTPContent-Encoding: gzipund mit jedem RFC-1952-Reader in Python, Node.js, Go, Java oder Rust dekomprimieren.
Was sind häufige Anwendungen der GZIP-Kompression?
GZIP wird im gesamten Web und in Kommandozeilen-Tools verwendet:
- HTTP-Übertragung: Webserver komprimieren Antworten mit GZIP, damit Seiten schneller über das Netzwerk geladen werden.
- Log-Archivierung: Langlebige Server-Logs werden als .gz-Dateien gespeichert, um den Speicherverbrauch zu reduzieren.
- Backups und Bundles: Tarballs (.tar.gz) komprimieren ganze Verzeichnisbäume für eine portable Verteilung.
Wie sieht ein Beispiel für GZIP-Kompression aus?
Ein 1 KB großes JSON-Dokument mit vielen sich wiederholenden Feldnamen komprimiert üblicherweise auf etwa 200–300 Bytes — eine vier- bis fünffache Größenreduzierung. Große Textlogs werden oft um 90 % oder mehr komprimiert. Bereits komprimierte Eingaben (JPEG, PNG, MP4, ZIP) schrumpfen nicht weiter und können um einige Bytes durch den GZIP-Rahmen wachsen.
Dieser GZIP-Kompressor erzeugt standardkonforme RFC-1952-Ausgaben direkt in Ihrem Browser. Egal, ob Sie eine Nutzlast vor der Übertragung verkleinern oder eine .gz-Datei zur Archivierung erstellen — das Ergebnis ist mit jedem GZIP-fähigen Tool im Netzwerk kompatibel.