Im Gegensatz zu statischem Inhalt ist dynamischer Inhalt für jeden Benutzer anders, d. h. er kann nicht mehreren Benutzer bereitgestellt werden und lässt sich nur schwer zwischenspeichern. Nichtsdestotrotz ist das Caching dynamischer Inhalte mit der richtigen Technologie möglich.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Was ist Caching?
CDN-Performance
Zuverlässigkeit von CDNs
SSL/TLS-Sicherheit durch CDNs
Wie CDNs Kosten reduzieren
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Statischer Inhalt ist jede Datei, die auf einem Server gespeichert ist und bei jeder Übermittlung an Benutzer gleich ist. HTML-Dateien und Bilder sind Beispiele für diese Art von Inhalten. Statischer Inhalt ist wie eine gedruckte Zeitung: Sobald eine Ausgabe der Zeitung veröffentlicht wurde, enthält sie den ganzen Tag über dieselben Artikel und Fotos für alle, die ein Exemplar davon kaufen, unabhängig davon, welche neuen Entwicklungen sich im Laufe des Tages abzeichnen.
Dynamischer Inhalt ist Inhalt, der sich basierend auf benutzerspezifischen Faktoren wie Zeit des Besuchs, Ort und Gerät ändert. Eine dynamische Webseite sieht nicht für alle gleich aus und kann sich ändern, wenn Benutzer mit ihr interagieren – so wie wenn eine Zeitung sich selbst neu schreiben könnte, während jemand sie liest. Dies macht Webseiten personalisierter und interaktiver.
Eine moderne Nachrichtenwebsite bietet ein gutes Beispiel für dynamische Inhalte: Im Gegensatz zu einer Zeitung werden dort Artikel den ganzen Tag über aktualisiert und die Startseite kann je nach Standort oder Anmeldestatus des Website-Besuchers unterschiedliche Schlagzeilen enthalten. Social-Media-Seiten sind ein weiteres Beispiel: Der Facebook-Newsfeed sieht für jeden Benutzer völlig anders aus, und Benutzer können mit dem Inhalt interagieren, um ihn zu ändern (indem sie Beiträge liken, teilen oder kommentieren).
Dynamische Webseiten werden nicht als statische HTML-Dateien gespeichert. Stattdessen generieren serverseitige Skripte eine HTML-Datei als Reaktion auf Ereignisse wie Benutzerinteraktionen oder Anmeldungen und senden die HTML-Datei an den Webbrowser. Da dynamischer Inhalt serverseitig generiert wird, wird er normalerweise von Ursprungsservern und nicht aus einem Cache bereitgestellt.
Dynamische Inhalte galten lange Zeit als nicht zwischenspeicherbar. Dank neuer Technologien können Websites dynamische Inhalte aus einem Cache bereitstellen, wodurch sich die Latenz erheblich reduziert und die Nutzererfahrung interaktiv bleibt.
Der übliche Web-Caching-Vorgang besteht darin, dass ein Cache eine Kopie der statischen Datei - z. B. ein Bild – speichert, wenn der Inhalt bereitgestellt wird, damit er beim nächsten Mal näher am Benutzer liegt und schneller bereitgestellt werden kann. Browser und Content Delivery Networks (CDNs) können statische Inhalte für einen festgelegten Zeitraum zwischenspeichern und Benutzern zur Verfügung stellen, solange die Inhalte weiterhin angefordert werden. Dies ist möglich, da sich der statische Inhalt im Laufe der Zeit nicht ändert: Dieselbe Datei kann Benutzern immer wieder bereitgestellt werden.
Dynamische Inhalte werden durch Skripte generiert, die den Inhalt einer Seite ändern. Durch Ausführen von Skripten in einem CDN-Cache anstelle eines entfernten Ursprungsservers können dynamische Inhalte generiert und aus einem Cache bereitgestellt werden. Dynamische Inhalte sind somit im Wesentlichen „zwischengespeichert“ und müssen nicht vom entfernten Ursprungsserver aus bereitgestellt werden. Dadurch reduziert sich die Reaktionszeit auf Client-Anfragen und dynamische Web-Seiten werden beschleunigt.
Cloudflare Workers sind beispielsweise serverlose JavaScript-Funktionen, die auf dem Cloudflare-CDN ausgeführt werden Sie können auf eine Vielzahl von Ereignissen und Eingaben reagieren, einschließlich Gerätetyp, Tageszeit, Benutzerstandort oder Daten von Drittanbieter-APIs. Basierend auf diesen Parametern kann dynamischer Inhalt generiert und auf Client-Geräten bereitgestellt werden, oder statischer Inhalt kann geändert, zwischengespeichert oder aus dem Cache gelöscht werden.
Da es sich bei Cloudflare Workers um JavaScript-Code handelt, können Entwickler damit nicht nur dynamische Inhalte zwischenspeichern, sondern auch eine Vielzahl von Funktionen oder ganze Anwendungen erstellen. Darüber hinaus können Cloudflare Workers bereitgestellt werden und innerhalb von Sekunden an CDN-Standorte auf der ganzen Welt verteilt werden.
Cloudflare Workers werden in einer kompakten Ausführungsumgebung ausgeführt, sodass der Code gestartet und innerhalb von Millisekunden ausgeführt werden kann. Mit ihnen können Entwickler Code ausführen, ohne sich Gedanken über die Konfiguration eines Backends machen zu müssen. Erfahren Sie mehr über serverlose Datenverarbeitung (Serverless Computing).
Ein weiterer Ansatz zur Beschleunigung dynamischer Webseiten besteht darin, vom Ursprungsserver generierte dynamische Inhalte zu komprimieren und so schnell und effizient wie möglich bereitzustellen. Bei der dynamischen Komprimierung stammt der Inhalt weiterhin vom Ursprungsserver anstatt aus einem Cache. Die generierten HTML-Dateien werden jedoch erheblich verkleinert, damit sie schneller auf das Clientgerät geladen werden können.
Oftmals bleibt eine große Menge an Inhalt auf einer dynamischen Webseite für alle Benutzer konsistent, und nur bestimmte Elemente auf der Seite sind dynamisch. Dies bedeutet, dass ein Großteil des HTML-Codes in jeder dynamischen Kopie der Seite dupliziert wird. Um diese Ineffizienz zu beheben, hat eine Gruppe von Unternehmen gemeinsam Edge Side Includes (ESI) entwickelt, eine Auszeichnungssprache, die angibt, wo dynamischer Inhalt auf einer Webseite angezeigt wird. (Einige CDNs unterstützen ESI, es wird jedoch vom W3C, der Organisation, die Webstandards regelt, noch nicht akzeptiert.)
Inhalte mit einem ESI-Tag werden von einer anderen Quelle abgerufen, während der übrige Inhalt der Webseite zwischengespeichert werden kann. Wenn nur ein Teil der Webseite dynamisch generiert und der Rest zwischengespeichert wird, lädt die Webseite viel schneller, als wenn die gesamte Seite für jeden Benutzer generiert werden müsste. ESI kann mit Cloudflare Workers kombiniert werden, um den Prozess noch effizienter zu gestalten.