HomeKontaktImpressum
Sie sind hier: Home

Verteilung von Seitenelementen

Extern in eine Internetseite eingebundene Objekte können die Website-Performance zuweilen stark ausbremsen. Häufig liegt das allerdings nicht an einem langsamen Webserver sondern an Beschränkungen in der Browserkonfiguration.

Wie bereits in den Ausführungen zum Vermindern von HTTP-Requests erwähnt wurde, sind Browser und Webserver bei kleinen Dateien mehr mit der gegenseitigen Abstimmung mittels TCP-Handshake beschäftigt, als mit dem Übertragen der angeforderten Informationen. Auch führt die von Browsern vorgegebene Beschränkung der maximalen Anzahl an gleichzeitigen Verbindungen (Connections) zum Webserver dazu, dass oft nur zwei Dateien gleichzeitig abgerufen werden und der Browser erst nach Abschluss einer bereits gestellten Anfrage über die bestehende Connection die nächste Datei anfordert.

Dieser Beschränkung seites des Clients (Webbrowsers) ist letztlich zu verdanken, dass die Ladezeit von Internetseiten, welche zahlreiche extern eingebundene Objekte enthalten, länger dauert als nötig. Liegen nämlich die eingebundenen Dateien allesamt auf einer einzigen (Sub-)Domain, so wirkt sich das auch auf die Geschwindigkeit aus, mit der eine Internetseite ausgeliefert wird. Es ist also nicht der Webserver schuld, wenn der Seitenbesucher lange auf eine vollständig gerenderte Seite warten muss.

Zwar ist es möglich die durch die unterschiedlichen Browseranwendungen vorgegebenen Standardwerte – sei es mit Hilfe eines Browser-PlugIns oder durch Anpassung der vom Entwickler der Browseranwendung vorgegebenen Konfigurationswerte mit einem Programm zur „Internet Performance Optimierung” – anzupassen, allerdings wird diese Möglichkeit von den wenigsten genutzt. Da aber die meisten Internetnutzer diese Beschränkungen – verständlicherweise – nicht kennen, schließen sie statt dessen daraus, dass der Betreiber der Website sein Internetangebot schlecht angebunden hat.

Entsprechend unzufrieden ist der Seitenbesucher, wenn er auf die Darstellung der angeforderten Internetseite allzu lange warten muss. Dabei lassen sich die, der Einbettung zahlreicher externer Seitenelemente geschuldeten, negativen Auswirkungen auf die Usability (Nutzbarkeit) einer Internetseite mit einfachen Mitteln vermeiden. Weil die durch den Browser vorgegebene Beschränkung gleichzeitiger Verbindungen sich aber auf einzelne (Sub-)Domains bezeiht, kann die Anzahl der gleichzeitig herunterladbaren Dateien durch eine Verteilung der externen Dateien dementsprechend erhöht werden.

Gerade statische Dateien – wie beispielsweise Bilder, Stylesheet- oder Script-Dateien – werden in großer Zahl in Websites verbaut. Zur Verteilung dieser Objekte legt man nun mehrere Subdomains unterhalb der genutzten Hauptdomain an. Stehen die nötigen Resourcen bzw. die Mittel zur Registrierung zusätzlicher Serverkapazitäten zur Verfügung, so ist auch eine Verteilung auf mehrere Domains, die wiederum auf unterschiedlichen Rechnern liegen können, denkbar.

Idealerweise sollten auf jeder verwendeten (Sub-)Domain zwei der eingebundenen Objekte abgelegt und entsprechend auf der Internetseite eingebunden werden. Auf diese Weise wird jedwede Warteschlange umgangen, da weder Server- noch Client-seitige Beschränkungen auftreten.

Als Beispiel gehen wir davon aus, dass die Domain example.com auf den einzelnen Seiten des Internetauftritts jeweils acht einzelne extern abgelegte Dateien nutzt – das Favicon, eine Stylesheet-, sowie eine JavaScript-Datei und sechs Bildelemente. Auf der Haupttdomain können zwei Dateien abgelegt werden: Die eigentliche Seite und das Favicon. Bleiben noch sechs Dateien, die untergebracht werden wollen.

Nun legt man zunächst drei Subdomains unterhalb der Hauptdomain an, welche die Namen static1.example.com bis static3.example.com tragen. Unter static1.example.com werden die JavaScript-Datei sowie das Stylesheet abgelegt – beide können zur Trafficminimierung in zwei Versionen, einmal in ungepackter und einmal in Form einer gepackten Datei vorgehalten werden, wobei per .htaccess-Datei aufgrund der Browserfähigkeiten entschieden wird, welche der beiden Dateien ausgeliefert werden kann. Zuletzt werden beiden verbleibenden Subdomains mit je zwei der benötigten Bilddateien bestückt. In den durch example.com ausgelieferten HTML-Dateien werden die externen Dateien mittels absoluter Verlinkung – die Attribute HREF oder SRC enthalten dann Links in der Form „http://static?.example.com/dateiname” – eingebunden.

Auch durch eine Website genutzte Cookies sollten auf den für statische Elemente vorgesehenen (Sub-)Domains keine Gültigkeit haben. Hierdurch lässt sich die bei einem HTTP-Request zu übertragende Datenmenge im Request-Header verringern. Schließlich werden die Cookies auf (Sub-)Domains, die nur der Auslieferung statischer Inhalte dienen, ohnehin nicht benötigt.

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