Caching bedeutet, dass HTTP-Antworten zwischengespeichert und für spätere Anfragen wiederverwendet werden. Dadurch spart ein Besucher bei einem erneuten Aufruf Übertragungen, und der Server wird entlastet. Der Zwischenspeicher im Browser heißt Browser-Cache. Daneben gibt es verwaltete Caches wie CDN, Reverse Proxy oder Service Worker.
Wie wird Caching gesteuert?
Der Server steuert es über HTTP-Header, vor allem Cache-Control. max-age=N legt fest, wie viele Sekunden eine Antwort als frisch gilt. no-cache verlangt vor jeder Wiederverwendung eine Rückfrage beim Server. no-store verbietet das Speichern. private erlaubt nur den Cache des einzelnen Nutzers, public auch gemeinsam genutzte Caches, und immutable kennzeichnet Inhalte, die sich nie ändern.
Ist eine Antwort abgelaufen, fragt der Browser nach, ob sie noch gilt. Dafür dienen ETag mit If-None-Match oder Last-Modified mit If-Modified-Since. Ist alles unverändert, antwortet der Server mit 304 Not Modified und spart den Body.
Auch Google-Crawler nutzen das. Laut Google unterstützt die Crawling-Infrastruktur heuristisches HTTP-Caching über ETag und If-None-Match sowie Last-Modified und If-Modified-Since, wobei Google ETag bevorzugt. Welcher Crawler das tut, hängt vom Crawler ab, Googlebot gehört dazu.
| Header / Status | Gegenstück in der Anfrage | Was es tut | Bedeutung für Google-Crawler |
|---|---|---|---|
Cache-Control | – (Direktiven auch in Anfragen möglich) | listet Direktiven für Caches, z. B. max-age (frisch für N Sekunden), no-cache (Wiederverwendung nur nach Prüfung), no-store (nicht speichern) | max-age ist optional und hilft Crawlern einzuschätzen, wann sie die URL wieder abrufen; andere Caching-Direktiven unterstützt Google nicht |
ETag | If-None-Match | Kennung für die aktuelle Version einer Ressource | unterstützt und von Google empfohlen, weil es keine Probleme mit Datumsformaten gibt; hat Vorrang, wenn beide Validatoren gesetzt sind |
Last-Modified | If-Modified-Since | Zeitpunkt, zu dem die Ressource laut Server zuletzt geändert wurde | unterstützt; das Datum muss dem HTTP-Format entsprechen, z. B. Fri, 4 Sep 1998 19:15:56 GMT |
304 Not Modified | Antwort auf eine bedingte GET- oder HEAD-Anfrage | meldet, dass die gespeicherte Kopie noch gilt; die Antwort hat keinen Body | der Crawler meldet dem nächsten System, dass der Inhalt dem letzten Crawl entspricht; die Suche kann Signale neu berechnen, sonst keine Wirkung auf die Indexierung |
Google rät, ETag und Last-Modified beide zu setzen, weil auch andere Anwendungen sie nutzen. Ob ein Google-Crawler Caching nutzt, hängt vom zugehörigen Produkt ab: Googlebot nutzt es beim erneuten Crawlen für die Google Suche. Laut Google-Blog vom Dezember 2024 ließen sich nur 0,017 % aller Abrufe aus dem Cache bedienen. Quellen: Google Crawling Infrastructure: Overview of Google crawlers and fetchers, HTTP caching (last updated 2026-06-12); Google Search Central Blog: Crawling December: HTTP caching (2024-12-09); Google Crawling Infrastructure: HTTP status codes, network and DNS errors (last updated 2026-02-04); MDN: HTTP caching; RFC 9111: HTTP Caching; RFC 9110: HTTP Semantics (8.8.2 Last-Modified, 8.8.3 ETag, 15.4.5 304). Stand: .
Beispiel
Eine Datei mit Versionsnummer im Namen, die sich nie ändert:
Cache-Control: public, max-age=31536000, immutable
Die zugehörige HTML-Seite, die jedes Mal geprüft werden soll:
Cache-Control: no-cache
ETag: "33a64df5"
Häufige Fehler
- Lange Laufzeit ohne Versionierung. Dateien ohne Hash oder Versionsnummer im Namen bleiben bei Besuchern veraltet im Cache.
- Veraltete Header-Mischungen. MDN nennt Kombinationen wie
no-store, no-cache, max-age=0, must-revalidate, proxy-revalidateals überholt,no-cachegenügt. no-storeauf allen Seiten. Es deaktiviert unter anderem den Zurück/Vor-Cache des Browsers.- Personalisierte Inhalte ohne
private. Sie könnten sonst in gemeinsam genutzten Caches landen.
Häufige Fragen
Hilft es, den Browser-Cache zu leeren?
Bei Darstellungsproblemen nach einer Änderung oft ja. Ein erzwungenes Neuladen mit Strg+Umschalt+R sendet Cache-Control: no-cache und lädt ohne Rückfrage-Bedingungen neu.
Wo findet man den Browser-Cache? In den Entwicklertools des Browsers unter dem Reiter „Netzwerk“ lässt sich je Datei sehen, ob sie aus dem Cache kam.
Quellen
- HTTP-Caching – MDN Web Docsdeveloper.mozilla.org
- Übersicht der Google-Crawler (Abschnitt HTTP-Caching) – Google Search Centraldevelopers.google.com
- RFC 9111: HTTP Cachingrfc-editor.org
Stand: