HomeKontaktImpressum
Sie sind hier: Home

Ablauf eines HTTP-Requests

Über den Ablauf von HTTP-Requests und die Auswirkungen auf die Performance einer Website: Hohe Latenzzeiten bei Anfragen an Webserver können Seitenbesuchern den Spass an einer Website verderben. Aber nicht immer ist die Anbindung des Besuchers an das Internet oder gar das Netz selbst schuld an der schleichenden Auslieferung von Internetseiten.

Die Beantwortung eines HTTP-Requests erfolgt – an dieser Stelle vereinfacht dargestellt – in mehreren Schritten. Zunächst stellt der Webbrowser eine Anfrage (HTTP-Request) zur benötigten Datei an den Webserver. Dieser bearbeitet die Anfrage und liefert schliesslich die gewünschten Daten, wobei zwischen der Anfrage und der Antwort durch den Webserver zuweilen einige Zeit verstreichen kann. Gerade bei kleinen Dateien, die lediglich wenige Bytes groß sind, ist diese Latenzzeit – Zeit zwischen dem Stellen der Anfrage und deren Beantwortung – bereits größer als die Zeit, die benötigt wird, um den Inhalt der Datei zu übertragen.

Die Latenzzeit setzt sich aus mehreren Komponenten zusammen. Neben dem TCP-Handshake, womit – vereinfacht ausgedrückt – die Abstimmung zwischen Sender und dem Empfänger geregelt wird, müssen die zu sendenden Daten vom Webserver vorbereitet und letztlich auch verschickt werden. Der organisatorische Aufwand zum Senden eines HTTP-Requests, sowie zur Vorbereitung des Versendens an den Browser, sollte demnach bei der Seitenerstellung stets berücksichtigt werden. Bei der Erstellung einer Website sollte also darauf geachtet werden, dass möglichst wenige HTTP-Requests zur Auslieferung einer Internetseite abgesetzt werden.

Warum aber sollte die Anzahl der Requests minimiert werden? Bei den heutigen Bandbreiten, modernen Webservern und Browseranwendungen sollte es doch kein Problem sein, alle enthaltenen Dateien nahezu parallel herunter zu laden! Theoretisch ist dies zwar möglich, allerdings sind die Defaultwerte zur Festlegung der maximalen Anzahl an gleichzeitigen Verbindungen (Connections) zu einem Webserver offenbar bei allen Browsern – einschliesslich deren wichtigsten Vertretern, dem Internet Explorer und auch Firefox – auf lediglich zwei beschränkt. Zwar ist dieser Standardwert bei Firefox ab der Version 3 auf sechs gestiegen, allerdings existiert diese Beschränkung – Aufgrund der Verbreitung des Internet Explorer – weiterhin bei einem überwiegenden Teil der Internetnutzer.

Da die meisten Besucher an dieser Einstellung nichts geändert haben dürften, ist dies faktisch eine allgemeine Beschränkung, der nahezu alle Internetnutzer unterliegen. Dies bedeutet, dass der Betreiber einer Website mit seinem Webserver in der Realität eben nicht beliebig viele Dateien gleichzeitig übertragen kann – wobei mit „gleichzeitig” keineswegs parallel gemeint ist.

Besonders stark wirkt sich eine hohe Zahl an Requests auf mobile Internetnutzer aus: Bei Anbindung per UMTS dauert der Verbindungsaufbau um ein vielfaches länger als über DSL. Die Latenzzeiten liegen hier bei guten Verbindungsverhältnissen bei ca. 140 ms. Im Vergleich hierzu liegen die Latenzzeiten bei DSL-Anschlüssen bei etwa 40 ms. Dies kann einem Seitenbesucher leicht den Spass an der Nutzung einer Website vermiesen.

Die hier geschilderten Umstände unterstreichen die Notwendigkeit, dass sich der Betreiber einer Homepage im Zuge der Erstellung seiner Internetseiten über die Struktur der durch seine Seite abgesetzten HTTP-Anfragen im klaren ist. Wie aber lässt sich nun die Anzahl der HTTP-Requests minimieren und welche Ansatzpunkte versprechen eine Steigerung der Website Performance? Im nächsten Teil meiner Ausführungen gibt es die entsprechenden Ansatzpunkte zur Minimierung.













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