Unsere Webanwendungen werden immer umfangreicher, ehrgeiziger und funktionaler – und das ist gut so. Die unaufhaltsame Entwicklung hin zu einem reichhaltigeren Web treibt jedoch einen weiteren Trend voran: Die Menge der von jeder Anwendung heruntergeladenen Daten nimmt kontinuierlich zu. Um eine gute Leistung zu erzielen, müssen wir die Übertragung jedes einzelnen Byte optimieren.
Wie sieht eine moderne Webanwendung aus? Das HTTP-Archiv kann uns dabei helfen, diese Frage zu beantworten. Im Rahmen des Projekts wird erfasst, wie das Web aufgebaut wird. Dazu werden die beliebtesten Websites (mehr als 300.000 aus der Alexa Top 1 Million-Liste) regelmäßig gecrawlt und Analysen zur Anzahl der Ressourcen, Inhaltstypen und anderer Metadaten für jedes einzelne Ziel erfasst und zusammengefasst.
Die obigen Daten zeigen den Trend bei der Zunahme der Anzahl der heruntergeladenen Bytes für beliebte Ziele im Web zwischen Januar 2013 und Januar 2014. Natürlich wächst nicht jede Website mit derselben Geschwindigkeit oder benötigt dieselbe Datenmenge. Deshalb werden die verschiedenen Quantile innerhalb der Verteilung hervorgehoben: 50. (Median), 75. und 90. Perzentil.
Eine durchschnittliche Website zu Beginn des Jahres 2014 besteht aus 75 Anfragen, die insgesamt 1.054 KB übertragene Bytes ergeben. Die Gesamtzahl der Bytes (und Anfragen) ist im letzten Jahr stetig gestiegen. Das sollte an sich nicht allzu überraschend sein, hat aber wichtige Auswirkungen auf die Leistung: Ja, die Internetgeschwindigkeit wird immer schneller, aber in verschiedenen Ländern in unterschiedlichem Tempo. Außerdem unterliegen viele Nutzer immer noch Datenlimits und teuren Abrechnungsmodellen – insbesondere auf Mobilgeräten.
Im Gegensatz zu Desktopanwendungen erfordern Webanwendungen keinen separaten Installationsprozess: Geben Sie einfach die URL ein und schon können Sie loslegen. Das ist ein wichtiges Merkmal des Webs. Um dies zu ermöglichen, müssen wir oft Dutzende und manchmal Hunderte verschiedener Ressourcen abrufen, die zusammen mehrere Megabyte an Daten umfassen können und innerhalb von Hunderten von Millisekunden zusammengeführt werden müssen, um die gewünschte sofortige Webnutzung zu ermöglichen.
Angesichts dieser Anforderungen ist es keine leichte Aufgabe, eine sofortige Webnutzung zu ermöglichen. Daher ist es entscheidend, die Inhaltseffizienz zu optimieren: Unnötige Downloads eliminieren, die Übertragungscodierung jeder Ressource durch verschiedene Komprimierungstechniken optimieren und nach Möglichkeit Caching nutzen, um redundante Downloads zu vermeiden.