Inhaltseffizienz optimieren

Ilja Grigorik
Ilya Grigorik

Der Umfang, das Ehrgeiz und die Funktionalität unserer Webanwendungen wächst stetig – und das ist gut so. Der unermüdliche Weg in Richtung eines vielfältigeren Webs führt jedoch zu einem weiteren Trend: Die von jeder Anwendung heruntergeladene Datenmenge nimmt stetig zu. Um eine hervorragende Leistung zu bieten, müssen wir die Bereitstellung jedes einzelnen Byte optimieren.

Wie sieht eine moderne Webanwendung aus? HTTP-Archiv kann uns helfen, diese Frage zu beantworten. Das Projekt verfolgt,wie das Web aufgebaut ist, indem regelmäßig die beliebtesten Websites (mehr als 300.000 aus der Alexa Top 1M-Liste) durchsucht und Analysen zur Anzahl der Ressourcen, Inhaltstypen und anderer Metadaten für jedes einzelne Ziel aufgezeichnet und aggregiert werden.

HTTP-Archiv-Trends

50. Perzentil 75. Perzentil 90. Perzentil
HTML 13 KB 26 KB 54 KB
Bilder 528 KB 1213 KB 2384 KB
JavaScript 207 KB 385 KB 587 KB
CSS 24 KB 53 KB 108 KB
Sonstiges 282 KB 308 KB 353 KB
Gesamt 1.054 KB 1.985 KB 3486 KB

Die obigen Daten spiegeln den Trend der Zunahme der heruntergeladenen Bytes für beliebte Websites im Web zwischen Januar 2013 und Januar 2014 wider. Natürlich wächst nicht jede Website mit der gleichen Geschwindigkeit oder erfordert die gleiche Datenmenge. Daher heben wir die verschiedenen Quantile innerhalb der Verteilung hervor: 50. (Medianwert), 75. und 90. Quantil.

Eine durchschnittliche Website Anfang 2014 setzte sich aus 75 Anfragen zusammen, die zusammen 1.054 KB an übertragenen Byte ergeben, und die Gesamtzahl der Bytes (und Anfragen) ist im Laufe des letzten Jahres konstant gewachsen. Dies allein dürfte zwar nicht allzu überraschend sein, hat aber erhebliche Auswirkungen auf die Leistung: Ja, die Internetgeschwindigkeit steigt, aber sie wird in verschiedenen Ländern mit unterschiedlichen Geschwindigkeiten schneller. Außerdem unterliegen viele Nutzer – insbesondere auf Mobilgeräten – Datenbegrenzungen und teuren Tarifen mit kostenpflichtigen Tarifen.

Anders als bei Desktop-Anwendungen ist für Webanwendungen kein separater Installationsprozess erforderlich: Geben Sie die URL ein und schon kann es losgehen – ein Schlüsselmerkmal des Webs. Dazu müssen wir jedoch oft Dutzende oder sogar Hunderte verschiedener Ressourcen abrufen, die zusammen mehrere Megabyte an Daten umfassen und in Hunderten von Millisekunden zusammenkommen müssen, um die angestrebte Instant-Webnutzung zu ermöglichen.

Angesichts dieser Anforderungen ist es nicht gerade einfach, ein sofortiges Weberlebnis zu schaffen. Aus diesem Grund ist die Optimierung der Inhaltseffizienz von entscheidender Bedeutung: das Eliminieren unnötiger Downloads, das Optimieren der Übertragungscodierung jeder Ressource durch verschiedene Komprimierungstechniken und die Nutzung von Caching, wann immer dies möglich ist, um redundante Downloads zu eliminieren.