Reduzierung der HTTP-Anfragen

Die wesentlichen Möglichkeiten zur Optimierung der Ladezeiten liegen gemäß Steve Souders in den Templates einer Website [Sou07]. Diese setzen sich aus einem HTML-Dokument, den Cascading Style Sheets zur Definition der optischen Gestaltung und JavaScripts für die Ausführung dynamischer Funktionalitäten zusammen. Der Abruf einer jeden Webseite hat eine ganze Reihe von Anfragen an den Webserver zur Folge.

Dabei sollte die Anzahl der HTTP-Anfragen an einen Webserver so gering wie möglich ausfallen, da die Anzahl gleichzeitiger HTTP-Verbindungen clientseitig durch die Browser begrenzt ist [WH15]. Die meisten aktuellen Browser können sechs bis acht gleichzeitige Verbindungen zu einer Domain aufbauen [CIW15] [Dav13]. Jede Ressource, die neben dem HTML-Dokument geladen wird, erzeugt eine HTTP-Anfrage. Werden viele Ressourcen geladen, erfolgt dies bis zu der von dem Browser ermöglichten Anzahl parallel, alle weiteren Ressourcen warten so lange, bis eine der vorherigen Übertragungen abgeschlossen wurde. Daher spielt bei der Performanceoptimierung die Reduzierung der Anfragen zur Verringerung der Ladezeit eine wesentliche Rolle.

Um eine Reduzierung der HTTP-Anfragen zu erreichen kann geprüft werden, ob sich einzelne Stylesheets, JavaScript-Dateien oder Bilder jeweils zu einer größeren Datei zusammenfassen lassen. Diese Dateien sind zwar von der Dateigröße umfangreicher, erfordern jedoch nur eine HTTP-Anfrage und verbessern somit die Ladezeit [CIW15]. Es sollte zudem sichergestellt werden, dass keine Skripte doppelt oder in verschiedenen Versionen geladen werden [Sou07]. Häufig passiert dies mit der JavaScript-Bibliothek jQuery bei der Nutzung mehrerer Erweiterungen in Content-Management-Systemen.

Zur Darstellung einer Webseite sollten ausschließlich Ressourcen geladen werden, die auf dieser auch Verwendung finden [KR13]. Dies betrifft vor allem Ressourcen, die nicht sichtbar sind oder nur von bestimmten Seitentypen genutzt werden. Befindet sich beispielsweise auf der Startseite einer Website ein Slider, ist es nicht erforderlich, dass das zugehörige JavaScript auf jeder Webseite mit geladen wird. Dies ist ein Problem bei der Nutzung vorgefertigter Themes für Content-Management-Systeme. Da bei diesen, wie in Kapitel 2.4.2 beschrieben, eine Vielzahl an Definitionen und Funktionen in dem Quellcode enthalten sind und davon nur ein geringer Anteil genutzt wird [Buc14]. Die Reduzierung unnötiger Ressourcen kann bei diesen Themes viele Anpassungen und somit einen hohen Zeitaufwand erfordern. Individuell erstellte Themes hingegen werden auf die tatsächlichen Anforderungen der Website zugeschnitten. Daher kann bei diesen bereits in der Entwicklung auf die Nutzung nicht erforderlicher Ressourcen verzichtet und damit eine geringere Anzahl an HTTP-Anfragen berücksichtigt werden.