Die Software gzip zur Da­ten­kom­pres­si­on lässt sich platt­form­über­grei­fend einsetzen und ist besonders in der Web­ent­wick­lung als ef­fi­zi­en­te Lösung gefragt. Du kannst gzip einfach über das jeweilige Kom­man­do­zei­len-Tool steuern, um wert­vol­len Spei­cher­platz zu sparen und die Per­for­mance deines Systems zu steigern.

Wie funk­tio­niert gzip genau?

gzip steht für „GNU zip“ und nutzt den frei ver­füg­ba­ren Deflate-Al­go­rith­mus. Dieser kom­bi­niert das LZ77-Verfahren (Lempel-Ziv 77) mit der Huffman-Kodierung. gzip scannt Dateien dabei nach iden­ti­schen Zei­chen­ket­ten. Findet das Programm solche wie­der­keh­ren­den Sequenzen, ersetzt es diese durch einen Verweis auf das erste Vorkommen. Die Länge dieser Sequenzen ist nor­ma­ler­wei­se auf 32.000 Bytes begrenzt. Wenn eine Abfolge innerhalb dieser Spanne nicht bereits auf­ge­taucht ist, wird sie ohne Kom­pres­si­on in der gzip-Datei (Endung .gz) abgelegt.

Da das Verfahren nur einzelne Dateien be­ar­bei­tet, nutzt man oft zu­sätz­lich das Pack­pro­gramm tar. So entstehen so­ge­nann­te Tarball-Archive mit den Endungen .tar.gz oder .tgz. Stan­dard­mä­ßig löscht gzip die Ori­gi­nal­da­tei nach der Kom­prie­rung. Mit einem op­tio­na­len Parameter (-k) lässt sich dieser Au­to­ma­tis­mus aber ab­schal­ten. Zum Entpacken ver­wen­dest du entweder gunzip oder den passenden gzip-Befehl.

gzip: Syntax und wichtige Befehle

Zwar gibt es grafische Ober­flä­chen, doch die Steuerung via Terminal oder Ein­ga­be­auf­for­de­rung ist bei gzip besonders effizient. Als klas­si­sches Kom­man­do­zei­len-Tool ist es genau dafür optimiert und auch für Ein­stei­ger:innen leicht ver­ständ­lich. Die grund­le­gen­de Syntax sieht so aus:

gzip Option Datei(en)
bash

Optionen sind dabei kein Muss. Ohne zu­sätz­li­che Angaben nutzt gzip einfach die Stan­dard­wer­te. Um etwa eine kom­pri­mier­te Kopie der Textdatei beispiel.txt zu erstellen, reicht dieser Befehl:

gzip beispiel.txt
bash

Wenn du Dateien entpacken willst oder gezielte Vorgaben zum Kom­pres­si­ons­grad, zum Ziel­ord­ner oder zur Ori­gi­nal­da­tei hast, benötigt der Befehl die ent­spre­chen­den Parameter. Hier siehst du die wich­tigs­ten gzip-Commands im Überblick:

Option Be­schrei­bung
-1-9 Legt die Kom­pres­si­ons­stu­fe (1–9) fest. 1 ist am schnells­ten bei ge­rings­ter Kom­pres­si­on, 9 bietet das beste Ergebnis bei längerer Dauer. Standard ist 5.
-r Geht rekursiv durch Ordner (inkl. Un­ter­ver­zeich­nis­se) und be­ar­bei­tet alle ent­hal­te­nen Dateien.
-f Erzwingt die Kom­pres­si­on und über­schreibt bei Bedarf bereits exis­tie­ren­de Dateien gleichen Namens.
-d Ex­tra­hiert die gewählte Datei direkt in das aktuelle Ver­zeich­nis.
-k Sorgt dafür, dass die ur­sprüng­li­che Datei nach dem Packen erhalten bleibt.
-l Zeigt Details wie etwa die Kom­pres­si­ons­ra­te der gepackten Datei an.
-c Gibt den Inhalt der kom­pri­mier­ten Datei direkt in der Konsole aus.
-q Un­ter­drückt sämtliche Meldungen und Warnungen von gzip.
-t Prüft, ob die kom­pri­mier­te Datei un­be­schä­digt und integer ist.
-h Ruft die Hilfe mit allen ver­füg­ba­ren Optionen auf.

Typische Ein­satz­ge­bie­te der gzip-Kom­pres­si­on

gzip ist nahezu überall ein­setz­bar, sofern die GPL-Lizenz ein­ge­hal­ten wird. Bei Linux-Systemen gehört es meist zum Stan­dard­um­fang oder lässt sich schnell über die Pa­ket­ver­wal­tung nach­in­stal­lie­ren. Auf der gzip-Website findest du zudem Versionen für macOS und Windows, um dort un­kom­pli­ziert Spei­cher­platz zu sparen.

Besonders wichtig ist gzip im Web: Server wie Apache un­ter­stüt­zen das Verfahren seit langem. Moderne Browser können diese Daten beim Laden der Seite direkt entpacken. Hier spielt gzip seine Trümpfe voll aus: Einmal aktiviert, kom­pri­miert der Server statische und dy­na­mi­sche Inhalte au­to­ma­tisch. Das verkürzt die Ladezeit deiner Website massiv – ein Kern­aspekt der Website-Op­ti­mie­rung. Die De­kom­pres­si­on passiert im Hin­ter­grund ohne Last für die Band­brei­te. Davon pro­fi­tie­ren vor allem mobile Nutzer:innen, was sich wiederum positiv auf dein Ranking in Such­ma­schi­nen auswirkt.

So ak­ti­vierst du gzip bei einem Apache-Server

Webserver stellen gzip meist als Modul bereit. Bei world4you und vielen anderen modernen Hostern ist diese Funktion oft schon vor­ein­ge­stellt. Wenn du dir unsicher bist, kannst du das über eine manuelle Abfrage prüfen oder den Support kon­tak­tie­ren.

Bei Apache lässt sich der Status etwa über eine phpinfo()-Ausgabe checken. Der Punkt HTTP_ACCEPT_ENCODING zeigt dir, ob eine Kom­pres­si­on aktiv ist. Falls gzip be­reit­steht, hast du drei Wege, es zu nutzen:

Variante 1: Ak­ti­vie­rung über die .htaccess-Datei

Mit der .htaccess-Datei steuerst du Ein­stel­lun­gen direkt für bestimmte Ver­zeich­nis­se. Da diese Datei im Root-Ver­zeich­nis bei jedem Aufruf aus­ge­le­sen wird, wirken Än­de­run­gen sofort. Falls du keinen Zugriff darauf hast, frag bei deiner Hosting-An­bie­ter­schaft nach. Wenn der Zugriff offen ist, ak­ti­vierst du gzip über das Deflate-Modul (mod_deflate) mit folgendem Code:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
txt
Tipp

Für die Module mod_gzip und mod_deflate muss dein Hoster die ent­spre­chen­de Freigabe erteilt haben.

Variante 2: gzip via PHP ein­schal­ten

Du kannst die Kom­pres­si­on auch per PHP-Befehl starten. Der Haken: Du musst den Code in jedes PHP-Dokument einzeln einfügen. Das ist also eher ein Plan B, falls du die .htaccess nicht be­ar­bei­ten kannst. Setze diese Zeile ganz an den Anfang deiner Datei:

<?php
ob_start("ob_gzhandler");
?>
php

Variante 3: gzip un­kom­pli­ziert per Plugin nutzen

Am ein­fachs­ten klappt es oft per Plugin direkt in deinem Content-Ma­nage­ment-System. Gerade für PHP-basierte Systeme wie WordPress gibt es viele Er­wei­te­run­gen, die in Minuten ein­ge­rich­tet sind. Hier sind drei beliebte Optionen:

  • W3 Total Cache: Ein mächtiges Tool zur Per­for­mance-Stei­ge­rung. Es bietet neben Caching und Mobile-Support auch einfache Schalter für die gzip-Kom­pres­si­on.
  • WP Rocket: Dieses WordPress-Caching-Plugin ist besonders ein­steig­er­freund­lich und aktiviert wichtige Speed-Features wie gzip oft schon au­to­ma­tisch.
  • WP Per­for­mance Score Booster: Ein spe­zia­li­sier­tes Plugin mit über 10 000 In­stal­la­tio­nen, das Texte, CSS und Skripte deiner Website effizient via gzip kom­pri­miert.

Anleitung: gzip auf einem NGINX-Webserver ein­rich­ten

Nutzt du einen NGINX-Server, kannst du die La­de­zei­ten ebenfalls op­ti­mie­ren. Hierfür kon­fi­gu­rierst du das Modul ngx_http_gzip_module. Nor­ma­ler­wei­se ist die Direktive gzip stan­dard­mä­ßig de­ak­ti­viert.

Öffne zum Ändern die Datei nginx.conf, suche die gzip-Direktive und setze den Wert von gzip off auf gzip on. Weitere nützliche Ein­stel­lun­gen findest du in dieser Tabelle:

Direktive Syntax Standard Be­schrei­bung
gzip_buffers gzip_buffers Anzahl Größe; `gzip_buffers 32 4k 16 8k;`
gzip_comp_level gzip_comp_level Komprimierungsgrad; gzip_comp_level 1; Bestimmt das Kom­pres­si­ons­le­vel (1–9).
gzip_min_length gzip_min_length Mindestlänge; gzip_min_length 20; Setzt die Min­dest­grö­ße (in Bytes) für zu packende Dateien fest.
gzip_http_version gzip_http_version Versionsnummer; gzip_http_version 1.1; Definiert die HTTP-Min­dest­ver­si­on für kom­pri­mier­te Antworten.
gzip_types gzip_types Content-Typ; gzip_types text/html; Legt fest, welche Da­tei­ty­pen (z. B. CSS, JSON) kom­pri­miert werden.

So prüfst du deine gzip-Ein­stel­lun­gen

Nachdem du alles ein­ge­rich­tet hast, solltest du testen, ob dein Server wirklich kom­pri­mier­te Daten aus­lie­fert. Ein her­vor­ra­gen­des Tool dafür ist Google PageSpeed Insights. Es ana­ly­siert deine URL und zeigt dir direkt an, ob gzip aktiv ist und wo noch Potenzial für mehr Speed liegt. Al­ter­na­tiv kannst du einen schnellen Check mit dem HTTP Com­pres­si­on Test auf WhatsMyIP.org machen.

Zum Hauptmenü