Der Umfang, die Ziele und die Funktionalität unserer Webanwendungen werden kontinuierlich erweitert. Das ist gut so. Der unermüdliche Aufstieg in Richtung eines besseren Webs führt jedoch zu einem weiteren Trend: Die von jeder Anwendung heruntergeladene Datenmenge nimmt stetig zu. Um eine hervorragende Leistung zu liefern, müssen wir die Bereitstellung jedes einzelnen Bytes optimieren!
Wie sieht eine moderne Webanwendung aus? HTTP-Archiv kann uns bei der Beantwortung dieser Frage helfen. Das Projekt verfolgt,wie das Web aufgebaut ist, indem es regelmäßig die beliebtesten Websites (über 300.000 von der Alexa Top 1M-Liste) crawlt und Analysen zur Anzahl der Ressourcen, Inhaltstypen und anderen Metadaten für jedes einzelne Ziel erfasst und aggregiert.
Die obigen Daten zeigen den Trend der Zunahme der Anzahl heruntergeladener Bytes für beliebte Ziele im Web zwischen Januar 2013 und Januar 2014. Natürlich wachsen nicht jede Site mit der gleichen Geschwindigkeit oder erfordert nicht die gleiche Datenmenge, daher der Grund, warum wir die verschiedenen Quantile innerhalb der Verteilung hervorheben: 50. (Medianwert), 75. und 90.
Ein Medianwert für die Website Anfang 2014 besteht aus 75 Anfragen, die insgesamt 1054 KB an übertragenen Byte ergeben, wobei die Gesamtzahl der Byte (und Anfragen) im Laufe des Vorjahres in stetigem Tempo zugenommen hat. Das allein sollte nicht überraschend sein, hat aber erhebliche Auswirkungen auf die Leistung: Ja, die Internetgeschwindigkeit wird in verschiedenen Ländern schneller, aber in unterschiedlichen Geschwindigkeiten. Außerdem sind viele Nutzer immer noch mit Datenbeschränkungen und teuren Tarifen konfrontiert – insbesondere auf Mobilgeräten.
Im Gegensatz zu Desktop-Anwendungen ist für Webanwendungen kein separater Installationsprozess erforderlich: Geben Sie die URL ein und schon kann es losgehen. Dies ist eine wichtige Funktion des Internets. Dazu müssen wir oft Dutzende oder manchmal hunderte von verschiedenen Ressourcen abrufen, die insgesamt zu Megabyte Daten führen können und in Hunderten von Millisekunden zusammenkommen müssen, um das angestrebte sofortige Weberlebnis zu ermöglichen.
Es ist keine leichte Aufgabe, angesichts dieser Anforderungen eine sofortige Weberfahrung zu erzielen. Aus diesem Grund ist die Optimierung der Inhaltseffizienz entscheidend: Eliminieren unnötiger Downloads, Optimieren der Übertragungscodierung jeder Ressource durch verschiedene Komprimierungstechniken und nach Möglichkeit Caching, um redundante Downloads zu vermeiden.