gzip


Bei gzip handelt es sich um ein patentfreies Komprimierungsprogramm für Dateien und im Webstandard RFC1952 definiert[1]. Die Software wurde ursprünglich für die GNU-Plattform geschrieben, kann heute aber nahezu plattformübergreifend verwendet werden. Mit gzip komprimierte Dateien können von allen modernen Browsern interpretiert werden. Der Begriff „gzip“ ist zusammengesetzt aus dem Wort GNU für das Betriebssystem und „zip“ (dt. Reißverschluss).

Hintergrund

Entwickelt wurde gzip von Jean-Loup Gailly. Ziel der Entwicklung war ein Ersatz für das Kompressionsverfahren „compress“, das für Unix geschrieben worden war. Neben gzip hatte Gailly auch den Code für die Datenkompressionsmethode zip geschrieben. Darüber hinaus ist er Co-Autor der zlib-Bibliothek, die es auch ermöglicht, PNG-Dateien zu komprimieren. Heute ist gzip eine beliebte Kompressionsmethode, die sich vor allem für Webseiten etabliert hat. Suchmaschinen wie Google empfehlen gzip als Methode der Datenkompression, um die Ladegeschwindigkeit zu erhöhen. In der Praxis können mit gzip Komprimierungsraten von bis zu 90 Prozent erzielt werden, vor allem dann, wenn überwiegend Textdateien komprimiert werden.

Funktionsweise

gzip basiert auf dem sogenannten LZ77-Algorithmus und seinem Nachfolger, dem LZH-Verfahren, zusammen auch „Deflate-Algorithmus“ genannt. Diese Methode wird bereits bei dem beliebten Komprimierungsprogramm Winzip genutzt und ist von Beginn an im Apache-Server implementiert. Allerdings wurde gzip nicht immer von jedem Server freigegeben. Wird gzip aktiviert, analysiert es die vorhandene Datei auf doppelte Datenbestandteile. Diese Bestandteile werden durch einen Verweis auf ein bereits vorhandenes Bestandteil ersetzt. Jeder Block einer gzip-Datei besteht aus 32.000 Bytes. Sollte sich eine Byte-Folge nicht wiederholen, bleibt die Datei unkomprimiert und wird im .gz-Format gespeichert. Werden wiederholte Zeichen gefunden, kann die Blockgröße reduziert, also komprimiert werden. Mit dem gzip-Verfahren können jeweils nur einzelne Dateien komprimiert werden. Sollen Archive gepackt werden, müssen diese zu einem sogenannten „Tarball“ zusammengefügt werden. Diese Dateisammlung erhält dann die Endung .tgz. Wird eine Website aufgerufen, deren Dateien mit gzip gepackt wurden, dekomprimiert der Browser diese und setzt sie beim Rendering wieder zusammen.

Implementierung

gzip kann mit Hilfe von Plugins, über PHP oder über die .htaccess-Datei implementiert werden.

  • .htaccess: Mit der htaccess können Webmaster Regeln für Server hinterlegen. In diesem Fall wird die Aufforderung zur Datenkomprimierung hinterlegt.

Ein mögliches Beispiel:

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
  • PHP: Jede PHP-Datei, die zur Komprimierung der Website beitragen soll, wird ein Code eingefügt.
<?phpob_start(“ob_gzhandler”);
?>
  • Plugins: Hilfsprogramme für die gzip-Komprimierung gibt es für viele verschiedene CMS wie Joomla oder WordPress. Mit den Plugins müssen Nutzer selbst keine Änderungen an der PHP-Datei oder htaccess vornehmen.

Nutzen für SEO

Kurze Ladezeiten erhöhen die Usability einer Webseite. Je kürzer eine Webseite für den Seitenaufbau benötigt, desto geringer ist die Chance, dass Nutzer abspringen. Dank der kürzeren Ladezeit erhöht sich bei Online-Shops die Möglichkeit einer Conversion [2]. Durch die höhere Verweildauer erhalten Suchmaschinen positive Nutzersignale, die in die Gesamtbewertung der Website mit einfließen können. Darüber hinaus ist die Performance einer Website ein Rankingfaktor. Wer folglich gzip nutzt, kann die Performance optimieren und auf diese Weise bessere Rankings erzielen.

Einzelnachweise

Weblinks