Cache Validator

Was ist ein Cache Validator?

Ein Cache Validator ist ein HTTP-Prüfmerkmal, mit dem Browser, Caches und Server erkennen, ob eine gespeicherte Ressource noch aktuell ist. Der Server liefert dafür meist einen ETag oder Last-Modified. Bei einer erneuten Anfrage bestätigt der Server die vorhandene Version mit dem Statuscode 304 oder überträgt eine geänderte Ressource erneut.

Ein Cache Validator (deutsch: Cache-Prüfmerkmal) vergleicht eine lokal gespeicherte Datei mit der aktuellen Version auf dem Server. Der Client sendet den bekannten Prüfwert in einer bedingten HTTP-Anfrage zurück. Stimmt der Wert weiterhin überein, antwortet der Server mit 304 Not Modified und überträgt keinen neuen Nachrichtenkörper.

Wie ein Cache Validator funktioniert

Ein Cache Validator kommt zum Einsatz, sobald eine gespeicherte Ressource erneut validiert werden muss. Der Server liefert bei der ersten Anfrage beispielsweise eine HTML-Datei mit dem Statuscode 200 OK und dem Header ETag: "a81f". Der Browser speichert die Datei zusammen mit diesem Wert.

Bei einer späteren Anfrage sendet der Browser If-None-Match: "a81f". Entspricht der gespeicherte ETag weiterhin der aktuellen Ressource, antwortet der Server mit 304 Not Modified. Hat sich die Datei geändert, liefert der Server eine neue Version mit 200 OK und einem aktualisierten Validator.

Beispiel: Eine CSS-Datei ist bereits im Browser gespeichert. Der Browser sendet ihren ETag an den Server. Eine Antwort mit 304 enthält die CSS-Datei nicht erneut, verursacht aber weiterhin eine Netzwerkanfrage. Eine noch frische Cache-Kopie kann dagegen ohne vorherige Serveranfrage verwendet werden.

ETag und Last-Modified im Vergleich

Die zwei üblichen Cache Validatoren sind ETag und Last-Modified. Beide erfüllen denselben Grundzweck, nutzen aber unterschiedliche Merkmale. Ein ETag wird vom Server für eine konkrete Repräsentation erzeugt. Last-Modified enthält den Zeitpunkt, zu dem die Ressource zuletzt geändert wurde.

Validator Antwort-Header Anfrage-Header Prüfgrundlage
ETag ETag If-None-Match Vom Server erzeugte Kennung der Ressource
Last-Modified Last-Modified If-Modified-Since Zeitpunkt der letzten Änderung

Starke und schwache ETags

Ein starker ETag wie "a81f" signalisiert, dass zwei Repräsentationen auf Byte-Ebene identisch sind. Ein schwacher ETag beginnt mit W/, beispielsweise W/"a81f", und bestätigt nur eine inhaltlich gleichwertige Darstellung. Für die übliche Cache-Validierung von GET- und HEAD-Anfragen können beide Varianten genutzt werden. Für bestimmte Bereichsanfragen ist ein starker Validator erforderlich.

Grenzen von Last-Modified

Last-Modified arbeitet mit einer HTTP-Datumsangabe, deren Auflösung bei einer Sekunde liegt. Ändert ein System eine Ressource mehrfach innerhalb derselben Sekunde, kann der Zeitstempel diese Versionen nicht sicher unterscheiden. Ein korrekt erzeugter ETag bietet in solchen Fällen eine genauere Zuordnung.

Sendet ein Client sowohl If-None-Match als auch If-Modified-Since, hat die Prüfung über den ETag Vorrang. Der Server darf eine unveränderte Ressource erst dann mit 304 bestätigen, wenn die maßgebliche Bedingung erfüllt ist.

Cache Validator und Cache-Control

Der Unterschied zwischen einem Cache Validator und Cache-Control liegt in ihrer Aufgabe. Cache-Control bestimmt unter anderem, wie lange und unter welchen Bedingungen eine Antwort gespeichert werden darf. Ein Cache Validator prüft, ob eine bereits gespeicherte Antwort weiterhin verwendet werden kann.

Die Direktive max-age=3600 erlaubt beispielsweise die Nutzung einer Ressource für 3.600 Sekunden ohne erneute Serveranfrage. Nach Ablauf dieses Zeitraums kann der Browser den Cache Validator zur Revalidierung senden. Bei einer unveränderten Datei folgt eine 304-Antwort, bei einer geänderten Datei eine vollständige 200-Antwort.

Die Direktive no-cache verbietet das Speichern einer Antwort nicht. Sie verlangt vielmehr, dass die gespeicherte Antwort vor der erneuten Nutzung beim Ursprungsserver validiert wird. no-store untersagt dagegen grundsätzlich das Speichern der Antwort. Diese Unterscheidung verhindert fehlerhafte Cache-Konfigurationen.

Cache Validator für SEO und Ladezeit

Ein Cache Validator ist kein eigenständiger Google-Ranking-Faktor. Eine saubere Cache-Konfiguration reduziert jedoch bei wiederholten Abrufen das übertragene Datenvolumen und kann Serverressourcen schonen. Davon profitieren Nutzer, interne Qualitätssicherungen und Crawler, sofern diese bedingte Anfragen unterstützen.

Für die Ladezeit ist eine frische Cache-Kopie meist günstiger als eine Revalidierung. Eine 304-Antwort überträgt zwar keinen vollständigen Nachrichtenkörper, benötigt aber weiterhin eine Verbindung zum Server und mindestens einen Anfrage-Antwort-Zyklus. Prüfe deshalb Validatoren immer zusammen mit Cache-Control, Komprimierung, Dateigröße und der Versionierung statischer Dateien.

Bei HTML-Dokumenten und dynamischen Inhalten verhindert ein korrekt aktualisierter Cache Validator, dass eine veraltete Version irrtümlich bestätigt wird. Bei CSS-, JavaScript- und Bilddateien werden häufig lange Cache-Zeiten mit versionierten Dateinamen kombiniert. Ändert sich beispielsweise style.css zu style.8f31.css, fordert der Browser die neue URL automatisch an.

Cache Validator richtig prüfen

Messbar ist ein Cache Validator über die HTTP-Header zweier aufeinanderfolgender Anfragen. Prüfe in den Entwicklerwerkzeugen des Browsers oder über eine Header-Abfrage, ob der Server zuerst ETag beziehungsweise Last-Modified ausliefert und auf eine passende bedingte Folgeanfrage mit 304 reagiert.

  • Kontrolliere, ob HTML, CSS, JavaScript und Bilder passende Cache-Header erhalten.
  • Prüfe, ob sich der ETag nach einer tatsächlichen Inhaltsänderung ebenfalls ändert.
  • Vergleiche Cache-Control mit der Aktualisierungshäufigkeit der Ressource.
  • Stelle sicher, dass 304-Antworten keinen vollständigen Nachrichtenkörper übertragen.
  • Teste die Header über CDN, Proxy und Ursprungsserver, falls mehrere Cache-Ebenen beteiligt sind.

Typische technische Fehler lassen sich im Rahmen einer umfassenden SEO-Audit-Analyse oder durch regelmäßige technische Crawls erfassen. Der kostenlose Ladezeiten-Check ergänzt die Header-Prüfung um eine Analyse der messbaren Seitenperformance.

Prüfe die Ladezeit deiner Website direkt im Artikel:

Mit Nutzung dieses PageSpeed-Checks erklären Sie, dass Sie die Datenschutzerklärung zur Kenntnis genommen haben und damit einverstanden sind, dass die von Ihnen angegebenen Daten elektronisch erhoben und gespeichert werden. Ihre Daten werden dabei nur streng zweckgebunden zur Bearbeitung des PageSpeed-Checks benutzt. Mit der Nutzung dieses PageSpeed-Checks erklären Sie sich mit der Verarbeitung einverstanden.

Typische Fehler bei Cache Validatoren

Ein gleichbleibender ETag trotz geändertem Inhalt kann dazu führen, dass ein Server eine veraltete Ressource mit 304 bestätigt. Das Gegenstück ist ein instabiler ETag, der sich bei jedem Abruf ändert. In diesem Fall überträgt der Server die Ressource regelmäßig neu, obwohl der Inhalt identisch geblieben ist.

  • Der Server erzeugt für identische Dateien auf mehreren Instanzen unterschiedliche ETags.
  • Last-Modified wird auf den Anfragezeitpunkt statt auf den Änderungszeitpunkt gesetzt.
  • Ein CDN entfernt Validatoren oder ersetzt sie ohne abgestimmte Konfiguration.
  • Personalisierte Antworten erhalten einen gemeinsam nutzbaren Cache Validator.
  • Cache-Control und Validatoren passen nicht zur Aktualisierungsfrequenz des Inhalts.

Bei mehreren Webservern muss derselbe Inhalt einen konsistenten Validator erhalten. Erzeugt jede Serverinstanz einen anderen ETag, scheitert die Wiederverwendung über einen Load Balancer möglicherweise. Prüfe deshalb dieselbe URL mehrfach und vergleiche die Antwort-Header über alle beteiligten Auslieferungsebenen.

Häufige Fragen zum Cache Validator

Was bedeutet der Statuscode 304?

Der Statuscode 304 Not Modified bestätigt, dass eine bereits gespeicherte Ressource weiterhin aktuell ist. Der Server sendet deshalb keinen neuen Nachrichtenkörper. Der Browser verwendet die vorhandene Cache-Kopie.

Sollte eine Website ETag und Last-Modified gleichzeitig verwenden?

Eine Website kann beide Cache Validatoren ausliefern. Wenn der Client anschließend If-None-Match und If-Modified-Since sendet, hat die Prüfung über den ETag Vorrang. Ein korrekt erzeugter ETag reicht häufig aus, während Last-Modified als zusätzlicher Validator dienen kann.

Verbessert ein ETag automatisch den PageSpeed-Wert?

Ein ETag verbessert einen PageSpeed-Wert nicht automatisch. Der Nutzen entsteht bei wiederholten Abrufen, wenn eine unveränderte Ressource nicht vollständig übertragen werden muss. Cache-Zeiten, Dateigrößen und Serverreaktionszeiten beeinflussen die Ladeleistung ebenfalls.

Kann dynamischer Inhalt einen Cache Validator verwenden?

Auch dynamischer Inhalt kann einen Cache Validator verwenden, wenn der Server für jede relevante Inhaltsversion einen verlässlichen Prüfwert erzeugt. Personalisierte Antworten benötigen zusätzlich passende Cache-Regeln, damit Inhalte nicht zwischen verschiedenen Nutzern geteilt werden.

Warum liefert der Server trotz Cache eine 200-Antwort?

Eine 200-Antwort ist korrekt, wenn die Ressource geändert wurde, der Client keinen passenden Validator gesendet hat oder der Server die bedingte Anfrage nicht unterstützt. Auch ein veränderter oder inkonsistenter ETag führt zur vollständigen Übertragung.

Was ist der Unterschied zwischen no-cache und no-store?

No-cache erlaubt das Speichern, verlangt aber vor der erneuten Nutzung eine Validierung beim Server. No-store untersagt das Speichern der Antwort. Die beiden Cache-Control-Direktiven haben deshalb unterschiedliche Auswirkungen auf Browser und zwischengeschaltete Caches.

Wenn du Cache-Header, Ladezeiten und weitere technische SEO-Signale gemeinsam bewerten lassen möchtest, bietet ein Potenzialcheck eine strukturierte Ausgangsbasis.

Kostenlosen Potenzialcheck anfragen


Sie haben noch Fragen?

Kontaktieren Sie uns

SEO Agentur kostenlose SEO Potentialanalyse


Weitere Inhalte