Blog

Lesen Sie die letzten Artikel

Howto: Webseiten komprimiert ausgeben

In diesem Blog-Beitrag will ich Ihnen zeigen, wie man den Webserver dazu bringt, die Webseite komprimiert an den Benutzer auszugeben.

Warum das Ganze ?

Eine komprimierte Ausgabe einer Webseite reduziert die beanspruchte Bandbreite, was bei mobilen Zugriffen mit Internet-Volumen-Verträgen für den Benutzer von Vorteil ist. Zugleich spart sich der Anbieter der Webseite Traffic auf seinem Webserver. Wenn weniger Bandbreite beansprucht wird ist das ein Vorteil für die Dauer des Seitenaufbaus, speziell wenn viele User gleichzeit auf der Seite sind. Der Benutzer hat also ein bessere und schnellere Datenauslieferung und muss nicht Ewigkeiten auf den Aufbau der Seite warten.

Browserunterstützung:

Eigentlich alle modernen Webbrowser unterstützen eine Art der komprimierten Ausgabe:

  • GZIP Methode
  • Deflate Methode

Wie aktiviere ich die Komprimierung ?

Es gibt drei verschiedene Wege, wie die GZIP Komprimierung aktiviert werden kann:

  • Direkt die Einstellungen in der Datei php.ini vornehmen (nur möglich wenn man darauf auch direkten Zugriff hat)
  • Einstellungen in der jeweiligen Webseite mittels PHP vornehmen
  • Einstellungen über eine .htaccess Datei vornehmen

Einstellung direkt über die Datei php.ini:

Standardmäßig ist die Komprimierung deaktiviert „Off„. Um diese nun zu aktivieren muss man diese auf „On“ setzen:

zlib.output_compression = On

Danach muss man den Apache-Server neustarten, damit die Änderung übernommen wird. Ab sofort wird die Webseite dann komprimiert ausgegeben.

Des Weiteren kann man das Level der Komprimierung angeben (Level 1 bis 9). Level 1 ist die niedrigste Komprimierung wobei Level 9 die höchste Komprimierung erreicht. Standardmäßig ist Level 6 eingestellt, um den Server auch nicht zu überlasten und die beste Performance zu erzielen. Sollte man sich trotzdem entscheiden, diesen Wert ändern zu wollen, dann muss man folgende Zeile anpassen (Wert zwischen 1 und 9):

zlib.output_compression_level = 6

Einstellung über PHP vornehmen:

Hat man keinen direkten Zugriff auf die Datei php.ini, bleibt einem nur der Weg direkt in der Webseite über PHP. Es gibt eine veraltete Methode welche GZIP aktiviert, aber nicht empfohlen wird:

<?php
if(extension_loaded("zlib") AND strstr ($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip"))
@ob_start("ob_gzhandler");
?>

Dieser Abschnitt muss ganz am Anfang der PHP-Datei eingebunden werden. Hierbei wird auch überprüft, ob die Komprimierung mit GZIP vom Webserver unterstützt wird und ob die Option -with-zlib installiert ist.

Wenn man sich für die PHP Methode entscheidet sollte man über die Parameter „ini_set“ vorgehen:

<?php ini_set('zlib.output_compression', 'On'); ?>;
<?php ini_set('zlib.output_compression_level', '6'); ?>;

Einstellung über eine .htaccess Datei:

Sollte man absolute keine Schreibrechte auf die Datei php.ini haben, bleibt einem nur der Weg über eine .htaccess Datei. Wichtig ist hierbei, dass „mod_deflate“ auf dem Server aktiviert ist. Um die Komprimierung zu aktivieren muss man folgenden Code in die .htaccess Datei mit aufnehmen:

<IfModule mod_deflate.c>
<FileMatch "\.(js|css|html|xml)$">
SetOutputFilter DEFLATE
</FileMatch>
</IfModule>

Testen ob die Webseite auch komprimiert ausgegeben wird

Über nachfolgende Seite kann man Testen ob eine Webseite komprimiert ausgegeben wird oder nicht. Hierzu muss man einfach die Adresse der Seite angeben:
http://www.mydigitallife.info/how-to-enable-gzip-compress-on-php-websites/

Ich hoffe ich kann euch mit diesem Beitrag helfen, oder Ihr habt nun endlich gefunden nach was Ihr gesucht habt.

Sollte euch der Beitrag gefallen, teilt Ihn doch in euren Sozial Netzwerken. Habt ihr Anmerkungen oder Verbesserungsvorschläge, dann meldet euch bitte bei mir unter: info@meduo.de

Peter Gierak arbeitet als Teamleiter IT-Entwicklung bei Staudigl-Druck GmbH & Co. KG in Donauwörth. Nebenberuflich erstellt er mit seiner MEDUO Medienagentur Webseiten für kleinere Kunden.
  • 2197 Aufrufe

Es wurde noch kein Kommentar geschrieben.

Hinterlassen Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Sie können folgende HTML Tags and Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>