Technik
Cache und CDN: Einfluss auf Verfügbarkeit und Ladezeit
Wie Browser-Cache, Server-Cache und Content Delivery Networks zusammenwirken, warum gecachte Inhalte einen Ausfall überbrücken können und wie du Caching-Probleme erkennst.
Inhalt
Caching ist eines der wirkungsvollsten Mittel zur Leistungssteigerung im Web. Gleichzeitig ist es eine häufige Quelle von Verwirrung: Eine Änderung ist live, aber Nutzer sehen sie nicht. Die Website ist ausgefallen, aber manche Nutzer kommen noch rein. Wer versteht, wie Browser-Cache, Server-Cache und CDN zusammenwirken, kann diese Situationen gezielt steuern.
Ebenen des Cachings
Caching geschieht auf mehreren Ebenen gleichzeitig:
Browser-Cache: Der Browser speichert Ressourcen (Bilder, CSS, JavaScript, HTML) lokal auf dem Gerät des Nutzers. Bei einem erneuten Besuch prüft er, ob die Ressource noch gültig ist, und lädt sie bei Bedarf vom Server neu.
CDN-Cache (Edge Cache): Ein Content Delivery Network hält Kopien der Ressourcen in Servern weltweit. Anfragen werden vom nächstgelegenen Knoten beantwortet, nicht vom Ursprungsserver. Das reduziert Latenz und entlastet den Hauptserver.
Reverse Proxy / Server-Cache: Vor dem eigentlichen Anwendungsserver steht oft ein Cache-Proxy (z.B. Varnish oder Nginx als Proxy). Er speichert dynamisch generierte Antworten und liefert sie bei gleichen Anfragen direkt aus, ohne die Anwendung erneut zu bemühen.
Anwendungs-Cache: Datenbank-Abfragen, API-Antworten oder berechnete Ergebnisse werden in einem schnellen Speicher wie Redis vorgehalten.
HTTP-Cache-Header
Das Caching-Verhalten wird über HTTP-Header gesteuert. Die wichtigsten:
Cache-Control: max-age=86400 gibt an, dass die Ressource 86400 Sekunden (ein Tag) lang als gültig gilt. Browser und CDNs halten sich daran.
Cache-Control: no-store verhindert jegliches Caching. Sinnvoll für sensible Daten wie Bankauszüge oder persönliche Informationen.
Cache-Control: no-cache bedeutet entgegen dem Namen nicht “kein Cache”, sondern “immer revalidieren”. Der Browser behält die Ressource im Cache, fragt aber vor jeder Verwendung beim Server nach, ob sie noch aktuell ist.
ETag und Last-Modified sind Mechanismen zur Revalidierung. Der Server gibt einen Fingerabdruck der Ressource zurück. Beim nächsten Aufruf schickt der Browser diesen Fingerabdruck mit. Ist die Ressource unverändert, antwortet der Server mit 304 Not Modified ohne Dateiübertragung.
CDN und Verfügbarkeit
Ein CDN erhöht nicht nur die Geschwindigkeit, sondern auch die Verfügbarkeit. Ist der Ursprungsserver kurzzeitig nicht erreichbar, kann das CDN veraltete Inhalte aus dem Cache ausliefern. Diese Funktion heißt “Serve Stale on Error” oder “Stale-While-Revalidate” und muss explizit konfiguriert werden.
Bei Cloudflare zum Beispiel gibt es die Einstellung “Always Online”: Fällt dein Server aus, zeigt Cloudflare eine gecachte Version deiner Seite an, damit Besucher nicht auf eine Fehlerseite stoßen. Das ist kein Ersatz für einen stabilen Server, überbrückt aber kurze Ausfälle elegant.
Für das Tool auf dieser Seite bedeutet das: Wenn ein globaler Check deine Website als erreichbar meldet, obwohl du weißt, dass dein Server ausgefallen ist, liefert möglicherweise das CDN gecachte Inhalte aus. Das ist gut für Nutzer, aber du solltest trotzdem den Ursprungsserver prüfen.
CDN-Cache leeren
Nach einem Deployment muss der CDN-Cache geleert werden, damit Nutzer die neuen Inhalte sehen. Das nennt sich “Cache Purge” oder “Cache Invalidation”.
Die meisten CDN-Anbieter bieten dafür eine API oder ein Web-Dashboard. Cloudflare erlaubt das Leeren einzelner URLs, aller Dateien mit bestimmten Tags oder des gesamten Caches.
Ein häufiger Fehler: Das Deployment läuft erfolgreich, aber der Cache-Purge wird vergessen. Nutzer sehen weiterhin die alte Version, obwohl der Server die neue ausliefern würde. Binde den Cache-Purge daher als automatischen Schritt in deinen Deployment-Prozess ein.
Caching-Probleme diagnostizieren
Ob ein Caching-Problem vorliegt, erkennst du an diesen Signalen:
Prüfe den Response-Header X-Cache (bei Varnish) oder CF-Cache-Status (bei Cloudflare). Der Wert HIT bedeutet, der CDN-Knoten hat die Ressource aus dem Cache geliefert. MISS bedeutet, der Ursprungsserver wurde angefragt. EXPIRED oder REVALIDATED zeigen an, dass der Cache abgelaufen war und erneuert wurde.
Ein Aufruf mit curl -I https://example.com zeigt dir alle Response-Header auf der Kommandozeile, ohne den Browser-Cache zu verwenden:
curl -I https://example.com
Achte auf Cache-Control, Age (wie viele Sekunden ist die gecachte Antwort bereits alt) und X-Cache.
Fazit
Cache und CDN sind grundlegende Bausteine moderner Webinfrastruktur. Sie beschleunigen Websites, reduzieren die Last auf dem Ursprungsserver und erhöhen die Verfügbarkeit bei kurzfristigen Ausfällen. Wer die Mechanismen versteht, kann Caching-Probleme nach einem Deployment schnell diagnostizieren und gezielt beheben, statt ratlos auf eine Seite zu starren, die angeblich live ist, aber noch den alten Stand zeigt.
Häufige Fragen
Warum sehe ich nach einem Deployment noch die alte Version meiner Website?
Dein Browser oder das CDN hat die alte Version noch im Cache gespeichert. Im Browser hilft eine harte Aktualisierung mit Strg+Umschalt+R (Windows/Linux) oder Cmd+Umschalt+R (macOS). Beim CDN musst du einen Cache-Purge auslösen, entweder manuell im Dashboard des Anbieters oder automatisch als Schritt in deinem Deployment-Prozess.
Kann eine Website trotz Server-Ausfall weiter erreichbar sein?
Ja, wenn ein CDN die Inhalte gecacht hat und über eine 'Stale-While-Revalidate'- oder 'Serve Stale on Error'-Konfiguration verfügt. Das CDN liefert in diesem Fall veraltete, aber funktionierende Inhalte aus dem Cache aus, während der Ursprungsserver nicht erreichbar ist. Nutzer bemerken oft nichts von einem kurzfristigen Ausfall.
Was ist der Unterschied zwischen TTL beim DNS und TTL beim Cache?
DNS-TTL gibt an, wie lange DNS-Server eine Antwort zwischenspeichern dürfen, bevor sie erneut beim autoritativen Server nachfragen. Cache-TTL (in HTTP-Headern als 'max-age' angegeben) gibt an, wie lange ein Browser oder CDN eine Ressource als gültig betrachtet. Beide wirken unabhängig voneinander.
Quellen
- RFC 9111: HTTP Caching (IETF)
Über die Autorenschaft
Mateusz Viola
Betreiber und redaktionelle Verantwortung website-status-checker.de
Themengebiet: Mathematik, Kalenderrechnung, Schaltjahre, Statistik und ISO 8601
Mehr über Mateusz Viola →Verwandte Artikel
Grundlagen
Website-Status prüfen: So geht es richtig
Was bedeutet es, den Status einer Website zu prüfen? Dieser Leitfaden erklärt die Grundlagen, welche Methoden es gibt und worauf es ankommt.
Lesezeit 6 Min.
HTTP
HTTP-Statuscodes erklärt: 2xx, 3xx, 4xx und 5xx
Eine vollständige Übersicht der wichtigsten HTTP-Statuscodes mit Erklärungen, was sie bedeuten und wann sie auftreten.
Lesezeit 7 Min.
HTTP
404 Not Found: Was dieser Fehler bedeutet und wie man ihn behebt
Der HTTP-Fehler 404 ist einer der bekanntesten Codes im Web. Dieser Artikel erklärt, warum er auftritt und wie man ihn richtig behebt.
Lesezeit 6 Min.