HTTP Caching
HTTP Caching beschreibt Mechanismen und Regeln zur Zwischenspeicherung von HTTP-Antworten, um Latenz, Bandbreite und Backend-Last zu reduzieren.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Stale Content sichtbar machen, wenn Invalidierung fehlschlägt
- Falsch konfigurierte Cache-Header verursachen Inkonsistenzen
- Sicherheitsrisiken bei caching-sensitiven Daten
- Versioniere statische Assets statt aggressive Purges zu nutzen.
- Nutze Cache-Control granular und dokumentiere Ausnahmen.
- Messt und nutzt Hit-Raten zur Optimierung der TTLs.
I/O & Ressourcen
- Analyse der Antworttypen und ihrer Cachebarkeit
- Vorhandene CDN- oder Proxy-Infrastruktur
- Sicherheits- und Datenschutzanforderungen
- Definierte Cache-Richtlinien und TTLs
- Monitoring-Dashboards (Hit-Rate, Misses)
- Automatisierte Invalidation-Workflows
Beschreibung
HTTP Caching steuert, wie Antworten zwischengespeichert, wiederverwendet und verfällt, um Latenz und Bandbreite zu reduzieren. Es umfasst Cache-Control-Richtlinien, ETags, Last-Modified, Vary-Header sowie Proxy- und CDN-Verhalten und adressiert Cache-Hierarchien, TTL-Strategien und Cache-Keys. Architekturentscheidungen regeln Konsistenz, Freshness, Invalidation, Betrieb, Monitoring und Performance-Trade-offs.
✔Vorteile
- Reduzierte Latenz für Endnutzer
- Geringere Belastung der Origin-Server
- Kostenersparnis durch weniger Backend-Ressourcen
✖Limitationen
- Schwierigkeiten bei konsistenter Invalidierung
- Nicht alle Antworten sind deterministisch cachebar
- Erhöhte Komplexität bei personalisierten Inhalten
Trade-offs
Metriken
- Cache-Hit-Rate
Anteil der Anfragen, die aus dem Cache bedient wurden.
- Average Response Time (p95)
95‑Perzentil der Antwortzeiten; gibt Performance-Auswirkung an.
- Origin-Request-Rate
Anzahl der Anfragen pro Sekunde an den Origin-Server.
Beispiele & Implementierungen
CDN-Cache für statische Web-Assets
Assets werden versioniert und mit langen TTLs über ein CDN ausgeliefert, während Invalidation über Dateinamenänderung erfolgt.
Reverse-Proxy-Caching für API-Antworten
Ein Edge-Proxy cached GET-Antworten für häufige Anfragen, reduziert Backend-Last und erhöht Durchsatz.
Conditional Requests mit ETag
Clients nutzen ETags und If-None-Match, um Bandbreite zu sparen und nur bei Änderungen vollständige Inhalte zu übertragen.
Implementierungsschritte
Audit bestehender Endpunkte und Klassifikation nach Cachebarkeit.
Definition von Cache-Policies, TTLs und Cache-Keys.
Konfiguration von CDN/Proxy-Richtlinien und Purge-Mechanismen.
Implementierung von Conditional Requests (ETag/Last-Modified).
Einrichtung von Monitoring und iteratives Nachjustieren.
⚠️ Technische Schulden & Engpässe
Tech Debt
- Ad-hoc-Cache-Purges statt implementierter Invalidation-APIs.
- Inkonsistente Cache-Keys zwischen Services.
- Fehlende Tests für Cache-Verhalten bei Deployment-Prozessen.
Bekannte Engpässe
Beispiele für Missbrauch
- Caching von Nutzerprofilseiten als öffentlich, führt zu Datenschutzausfällen.
- Setzen eines globalen langen TTL für dynamische API-Antworten.
- Fehlende Purge-API und manuelle Dateiänderungen als Invalidation.
Typische Fallen
- Verwechseln von Cache-Control mit Server-seitiger Session-Logik.
- Überschreiben von Proxy-Caches durch falsche Header-Reihenfolge.
- Unzureichende Beobachtbarkeit der Cache-Effekte im Betrieb.
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • HTTP-Standards und Header-Verhalten
- • Third-Party-CDN-APIs und Limits
- • Rechtliche Vorgaben für personenbezogene Daten