HomeKontaktImpressum
Sie sind hier: Home

Serverseitige Browserweiche

Sollen, abhängig von der genutzten Browseranwendung und deren Version, unterschiedliche Dateiversionen an den Webbrowser verschickt werden, so kann eine serverseitige Browserweiche helfen. Angewandt werden kann eine solche beispielsweise, wenn eingebettete Rastergraphiken im Stylesheet oder der HTML-Datei enthalten sind. Da der Internet Explorer erst seit Version 8 mit Base64-kodierten Bilddaten umzugehen weiss, wird so unnötig anfallender Download-Traffic vermieden.

Im HTML-Code oder innerhalb des Stylesheets eingebettete Bilder sparen HTTP-Anfragen und beschleunigen somit die Website-Performance. Da ältere Versionen des Internet Explorer eingebettete Objekte nicht verarbeiten können, ist es auch nicht unbedingt nötig, diesem die größere Seitenversion mit den enthaltenen Bildern auszuliefern. Am Ende muss der IE die Dateien ohnehin später nocheinmal nachladen, damit alle Elemente der Website korrekt dargestellt werden. Letztlich wird der Webserver durch die daraus resultierende Verringerung des Download-Traffics – der im Übrigen auch Geld kostet – entlastet. Abgesehen davon wird die Website-Geschwindigkeit nicht unnötig verlangsamt, da doppelt übertragene Daten eben auch zu einer längeren Ladezeit führt.

Per serverseitiger Browserweiche, die - mit entsprechenden Einträgen in der .htaccess-Datei des Webservers - auf den User-Agent reagiert, kann der Internet Explorer automatisch mit Seiten ohne eingebettete Elemente bedient werden. Allerdings birgt der Einsatz derartiger Browserweichen ein gewisses Risiko. Sendet der Browser falsche Angaben zum User-Agent, so wird fälschlicherweise eine falsche Browseranwendung angenommen und dementsprechend auch die falsche Seitenversion verschickt. Folgender Abschnitt zeigt die für eine serverseitige Browserweiche nötigen Angaben im .htaccess-File:

RewriteEngine On
RewriteCond %{REQUEST_URI} \.(css|html)$
RewriteCond %{HTTP_USER_AGENT} ^.* MSIE [0-7]\.[0-9].*$
RewriteRule ^(.*)$ /$1.ie [L]

Mit der ersten Anweisung wird die Rewrite-Engine eingeschaltet, welche für die Umleitung auf eine spezielle Dateiversion für den Internet Explorer verantwortlich ist. Die beiden darauf folgenden RewriteCond-Zeilen geben die Voraussetzung für eine Umleitung vor: Hier werdem nur Anfragen zu Dateien umgeleitet, die auf .html oder .css enden, da hier die eingebetteten Bilddaten abgelegt sind, deren Übertragung durch die Umleitung verhindert werden soll.

Dies geschieht – in Folge der zweiten Bedingung, die sich auf den User-Agent bezieht – auch nur dann, wenn der Browser sich als Internet Explorer (älter als Version 8, da dieser eingebettete Bilder beherrscht) ausgibt. Die Datei, auf die in einem solchen Fall zugegriffen wird, setzt sich aus der aufgerufenen URI und einer weiteren Endung (.ie) zusammen, die angehängt wird.

Ruft nun beispielsweise ein sich als Internet Explorer 7.0 ausgebender Browser die URL http://www.example.com/style.css auf, so liefert der Webserver die Datei /style.css.ie an den Webbrowser aus. Diese muss natürlich – neben der Datei style.css – auch im Dateisystem des Servers vorhanden sein. Während style.css die eingebetteten Bilddaten bereits in Form von Base64-kodierten Rastergraphiken enthält, sind in der Datei style.css.ie lediglich die Verweise zu den nachzuladenen Bildern enthalten.

Auf diese Weise werden die Bilddaten – vorausgesetzt der Browser schwindelt nicht – wie gewohnt mit separaten HTTP-Requests ausgeliefert. Dagegen bekommen alle anderen Browser die Stylesheets bzw. HTML-Dateien mit integrierten Rastergraphiken ausgeliefert und sparen somit wertvolle HTTP-Anfragen, die ansonsten unnötig viel Zeit kosten und die Website-Performance drücken würden.

Seite 1 von 2 | « [1] • [2] »




  
© 2009-2024 Möglichkeiten zur Steigerung von Geschwindigkeit und Usability Ihrer eigenen Website