HomeKontaktImpressum
Sie sind hier: Home

Statisch und vorkomprimiert

Gerade bei statischen oder gecachten dynamischen Internetseiten kann eine Vorkomprimierung der auszuliefernden Inhalte den Webserver deutlich entlasten. Die Folge ist ein entlastetes System und eine performantere Website. Dabei muss lediglich gewährleistet sein, dass auch nur jene Browseranwendungen, die mit komprimierten Websites umzugehen wissen, diese auch in gepackter Form erhalten. Auch das ist mit den entsprechenden Einstellungen in der .htaccess-Datei relativ leicht umsetzbar.

Eine weitere Möglichkeit den Webserver dazu zu bewegen die Daten in komprimierter Form auszuliefern besteht darin, die Internetseiten und andere externe Komponenten einer Website bereits komprimiert im Dateisystem des Webservers abzulegen. Dabei wird aufgrund der Fähigkeiten des anfragenden Clients bzw. der Browseranwendung bei jedem Dateiabruf entschieden, ob die komprimierte oder die unkomprimierte Version der Datei ausgeliefert werden soll.

Diese, ebenfalls auf Basis der htaccess-Datei funktionierende, Variante ist zugleich die effektivste Form der Auslieferung von komprimierten Inhalten, da der aufwändige Algorithmus zur Komprimierung nicht durch den Server abgearbeitet werden muss. Allerdings hat dies den Nachteil, dass der Einsatz nur bei statischen Internetseiten oder bei dynamischen Websites mit einem integrierten Caching-Mechanismus sinnvoll ist. Dynamische Interneteiten – deren Inhalt bei jedem einzelnen Seiteaufruf aufs Neue erzeugt wird – ohne einen solchen Caching-Mechanismus sollten mit einem der anderen Verfahren komprimiert werden.

Bei jeder Anfrage an den Webserver sendet die Browseranwendung den sogenannten Request-Header, der mittels der Angabe Accept-Encoding angibt, ob komprimierte Dateien durch diesen verarbeitet werden können oder nicht. Genau diese Information kann der Webserver auswerten und auf Basis dieser Information kann die Entscheidung für oder wider einer komprimierten Seitenauslieferung getroffen werden. Voraussetzung seitens des Webservers ist hier das Modul mod_rewrite, mit dem der benötigte Umleitungsmechanismus realisiert wird. Diese Form der komprimierten Seitenauslieferung funktioniert dafür aber schon mit Apache-Versionen ab 1.3, da das Modul ab dieser Version enthalten ist. Selbst bei relativ günstigen Homepage-Paketen ist dieses Modul des Servers aktiviert, so dass die Nutzung normalerweise unproblematisch sein dürfte. Nachfolgend eine beispielhafte .htaccess-Datei mit den nötigen Einstellungen:

# Rewrite Engine muss angeschaltet werden
RewriteEngine on

# Header fuer komprimierte Dateien setzen
<FilesMatch "\.css\.gz$">
  ForceType text/css
  Header set Content-Encoding: gzip
</FilesMatch>
<FilesMatch "\.js\.gz$">
  ForceType text/javascript
  Header set Content-Encoding: gzip
</FilesMatch>
<FilesMatch "\.html\.gz$">
  ForceType text/html
  Header set Content-Encoding: gzip
</FilesMatch>

# Komprimierten Versionen von HTML-, Stylesheet- und
# JavaScript-Dateien verschicken wenn der Client
# dies unterstuetzt
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_URI} \.(js|css|html)$
RewriteRule ^(.*)$ /$1.gz [L]

Im oben stehenden .htaccess-File sind die nötigen Schritte angegeben. Mit RewriteEngine on wird der Webserver angewiesen Rewrite-Regeln zu beachten. Die mit FilesMatch eingeleiteten und mit dem zugehörigen schließenden Tag beendeten Bereiche geben dem Webserver die Anweisung die darin enthaltenen Mime-Typen (durch ForceType) zu setzen und im Response-Header die Form der Kodierung anzugeben. Bei der Auslieferung werden diese Informationen in den Response-Header eingefügt und der Browser erhält die Information, wie mit den Dateien zu verfahren ist.

Seite 2 von 6 | « [1] • [2] • [3][4][5][6] »
  
© 2009-2019 Möglichkeiten zur Steigerung von Geschwindigkeit und Usability Ihrer eigenen Website