err_cache_miss in Chrome: Bedeutung und Lösung des Fehlers

Veröffentlicht:

16 Min. Lesezeit

Acar Diveroli
Autor: Acar Diveroli
Große -400 über ERR_CACHE_MISS und Confirm Form Resubmission; rechts ein blaues Band mit fehlender, gestrichelter Windung

Sie haben gerade ein Formular abgeschickt: eine Bestellung, eine Hotelbuchung, einen Kommentar oder eine Suche mit Filtern. Auf der Seite, die zurückkommt, klicken Sie auf einen Link und drücken dann „Zurück“, um sie noch einmal anzusehen, doch statt der Seite zeigt Chrome seine eigene Fehlerseite mit der Überschrift „Erneute Formular-Übermittlung bestätigen“ und ganz unten in kleiner Schrift ERR_CACHE_MISS. Laden Sie neu, fragt ein Dialog, ob Sie fortfahren möchten. Entwickler begegnen demselben Code an anderer Stelle: als Failed to load resource: net::ERR_CACHE_MISS in der Konsole oder in einer Android-App, deren eingebauter Browser nichts als diesen Code zeigt.

Im Folgenden: was der Code bedeutet, was die Seite sagt, wie ein Klick auf „Zurück“ dort endet, die Ursachen, die wir nachgestellt haben, wann es sicher ist, ein Formular erneut zu senden, die Lösungen in Chrome, Edge und unter Android und was Website-Betreiber und App-Entwickler ändern.

Was bedeutet ERR_CACHE_MISS?

Es bedeutet, dass eine Anfrage, die nur aus dem Cache von Chrome beantwortet werden durfte, dort nichts gefunden hat. Der Cache ist der Ordner, in dem der Browser Kopien bereits heruntergeladener Seiten, Bilder und Skripte aufbewahrt, damit sie beim nächsten Mal schneller öffnen. Chromiums Liste der Netzwerkfehler gibt dem Code die Nummer -400 und eine einzige Zeile: The cache does not have the requested entry. (Der Cache enthält den angeforderten Eintrag nicht.) Die Nummern von -400 bis -499 sind für Cache-Fehler reserviert.

Der Code sagt nichts über Ihre Verbindung aus, und die Website hat ihn nicht gesendet. Chrome, Edge, Brave und Opera teilen sich den Netzwerkcode von Chromium und melden ihn gleich, ebenso Android-Apps, die Webseiten in einer Web-Ansicht (WebView) anzeigen.

Der übliche Grund, warum sich Chrome auf den Cache beschränkt, ist ein Formular. Das Absenden eines Formulars löst eine POST-Anfrage aus: Der Browser übergibt die eingegebenen Daten an den Server, und der Server handelt danach, bucht das Zimmer, veröffentlicht den Kommentar oder belastet die Karte. Diese Seite erneut aus dem Netz zu laden hieße, die Daten noch einmal zu senden; deshalb darf Chrome bei „Zurück“ und „Vorwärts“ nur die Kopie verwenden, die es bereits hat.

Was steht auf der Fehlerseite?

Wir haben den Fehler in Chromium 145 mit einem kleinen Testformular auf unserem eigenen Rechner nachgestellt: Formular absenden, eine andere Seite öffnen, „Zurück“ drücken. Die Seite zeigte genau diese Zeilen, hier im Wortlaut des deutschen Chrome aus den Sprachdateien von Chromium (im englischen Chrome lautet die Überschrift „Confirm Form Resubmission“):

Zeile auf dem BildschirmBedeutung
„Erneute Formular-Übermittlung bestätigen“Die Überschrift, wenn die Kopie eines Formularergebnisses fehlt
„Damit diese Webseite richtig angezeigt wird, werden die Daten benötigt, die du vorher eingegeben hast. Du kannst diese Daten noch einmal senden, dabei werden jedoch sämtliche Aktionen wiederholt, die vorher durch diese Seite ausgeführt wurden.“Chrome müsste Ihr Formular erneut senden
„Klicke auf den Button zum erneuten Laden, um die für das Laden der Seite erforderlichen Daten noch einmal zu senden.“Der einzige Weg, den Chrome anbietet
ERR_CACHE_MISSDer Code

Die Seite hat keine eigene Schaltfläche; das erwähnte Neuladen ist die Browser-Schaltfläche Diese Seite neu laden oder F5. Ein Klick darauf öffnet einen Dialog mit demselben Titel und dem Text „Die gesuchte Seite hat die von dir eingegebenen Informationen verwendet bzw. verarbeitet. Wenn du zu dieser Seite zurückgehst, wird eventuell eine schon ausgeführte Aktion wiederholt. Möchtest du fortfahren?“ Weiter sendet das Formular erneut. Diesen Wortlaut haben wir aus dem Quellcode von Chromium übernommen, da ein automatisierter Browser neu lädt, ohne den Dialog zu zeigen.

Erscheint der Code auf einer Seite, die kein Formularergebnis war, verwendet Chromium stattdessen seine allgemeine Cache-Seite: „Diese Website kann nicht aus dem Cache geladen werden“, die Zeile „Die (im Cache) gespeicherte Kopie dieser Website war nicht lesbar.“ und eine Schaltfläche Neu laden. Diese Variante ist seltener und deutet eher auf einen geleerten oder beschädigten Cache als auf ein Formular hin.

Wie endet ein Klick auf „Zurück“ bei ERR_CACHE_MISS?

  1. Sie senden ein Formular ab. Chrome sendet eine POST-Anfrage mit Ihren Daten; der Server führt die Aktion aus und liefert eine Ergebnisseite zurück, zum Beispiel „Bestellung eingegangen“.
  2. Chrome behält eine Kopie. Das Ergebnis landet im Cache des Browsers, verknüpft mit diesem Eintrag im Verlauf des Tabs, es sei denn, die Website hat Cache-Control: no-store gesendet, den Antwort-Header, der Browsern sagt, eine Seite überhaupt nicht zu speichern.
  3. Sie gehen weiter. Sie klicken auf der Ergebnisseite auf einen Link oder öffnen im selben Tab eine andere Adresse.
  4. Sie drücken „Zurück“. Bei einem Verlaufseintrag, der durch ein Formular entstanden ist, liest Chrome nur aus dem Cache und überspringt die übliche Prüfung auf eine neuere Version. Der HTTP-Caching-Standard RFC 9111 erlaubt genau das: Der Verlauf eines Browsers darf eine frühere Kopie auch nach ihrem Ablauf zeigen, und er darf no-store beachten.
  5. Die Kopie ist da oder nicht. Ist sie da, erscheint die Seite sofort, und nichts wird gesendet. Wenn nicht, hält Chrome bei ERR_CACHE_MISS an und überlässt Ihnen die Entscheidung.

Unser Testserver änderte jeweils nur eine Sache:

Was die Website mit der Ergebnisseite sendete„Zurück“ nach dem VerlassenFormular erneut gesendet?
Kein Caching-HeaderErgebnisseite aus dem Cache angezeigtNein
Cache-Control: private, max-age=600Ergebnisseite aus dem Cache angezeigtNein
Cache-Control: no-storeERR_CACHE_MISSNein
Kein Caching-Header, Cache vor „Zurück“ geleertERR_CACHE_MISSNein
Eine 303-Weiterleitung auf eine normale SeiteDiese Seite lädt erneutNein

Wie lange eine Seite behalten werden darf, machte keinen Unterschied; nur „nicht behalten“ und ein geleerter Cache taten es. Die erste Zeile blieb gleich, als der Back-Forward-Cache von Chrome (ganze kürzlich besuchte Seiten im Arbeitsspeicher) ausgeschaltet war: Die Kopie kam aus dem Festplatten-Cache.

Was verursacht ERR_CACHE_MISS?

  • Die Website bittet Browser, die Seite nicht zu speichern. Banken, Kassenseiten, Kontoseiten und Anmeldeformulare senden no-store oft mit Absicht, damit die nächste Person am selben Computer die Seite nicht von der Festplatte öffnen kann. Auf solchen Websites ist der Fehler nach „Zurück“ zu erwarten.
  • Die gespeicherte Kopie ist weg. Das Löschen der Bilder und Dateien im Cache, ein Reinigungsprogramm, das Browser-Caches nach Zeitplan leert, oder Chrome, das bei vollem Cache alte Einträge verwirft: All das entfernt die Kopie, die „Zurück“ verwendet hätte.
  • Ein Skript hat eine Antwort nur aus dem Cache verlangt. Eine Webseite, die fetch() mit cache: "only-if-cached" für eine Adresse aufruft, die nicht im Cache liegt, scheitert mit demselben Code.
  • Die Web-Ansicht einer Android-App ist auf ihren Cache beschränkt. Apps zeigen Webseiten über die Android-Komponente WebView an; fehlt der App die Internet-Berechtigung oder hat sie ihre Web-Ansicht so eingestellt, dass sie nur aus dem Cache liest, scheitert jede noch nicht gespeicherte Seite mit ERR_CACHE_MISS.
  • Selten ein beschädigter Cache. Die Entwickler von Chromium vermerken, dass die Cache-Seite in der Regel erscheint, nachdem der Festplatten-Cache durch ein unsauberes Herunterfahren beschädigt wurde.

Ist es sicher, das Formular erneut zu senden?

Das hängt davon ab, was das Formular getan hat, und das wissen nur Sie. Ein erneutes Senden wiederholt die Anfrage genau wie zuvor, also führt der Server die Aktion ein zweites Mal aus, sofern die Website nicht selbst auf Duplikate prüft.

Gesendetes FormularErneut senden?
Suche, Filter oder SortierungJa; auf dem Server ändert sich nichts
AnmeldungMeist ja; Sie werden einfach noch einmal angemeldet
Kommentar, Nachricht oder KontaktformularKann doppelt veröffentlicht oder gesendet werden
Bestellung, Zahlung, Buchung oder ÜberweisungErst, nachdem Sie Ihr Konto oder Ihre E-Mails geprüft haben

Im Zweifel senden Sie es nicht erneut. Öffnen Sie die Seite der Website für das, was Sie getan haben, etwa den Bestellverlauf, die gesendeten Nachrichten oder die Buchungsliste, und prüfen Sie, ob der erste Versuch durchgegangen ist.

Wie beheben Sie ERR_CACHE_MISS in Chrome?

Meist reicht einer der ersten beiden Schritte.

  1. Senden Sie das Formular erneut, wenn das harmlos ist. Wählen Sie links oben Diese Seite neu laden oder drücken Sie F5 (unter Windows geht auch Strg + R), und wählen Sie dann im Dialog „Erneute Formular-Übermittlung bestätigen“ Weiter.
  2. Oder machen Sie weiter, ohne es zu senden. Klicken Sie auf das Logo der Website oder geben Sie ihre Adresse ein und öffnen Sie die gewünschte Seite über ihr Menü; sie lädt mit einer normalen Anfrage und zeigt den aktuellen Stand, etwa die Bestellung, die Sie bereits aufgegeben haben.
  3. Testen Sie in einem Inkognitofenster, wenn der Fehler auf Seiten erscheint, die keine Formularergebnisse waren. Wählen Sie Dreipunkt-Menü > Neues Inkognitofenster und öffnen Sie dieselbe Website; funktioniert sie dort, schalten Sie die Erweiterungen unter Dreipunkt-Menü > Erweiterungen > Erweiterungen verwalten einzeln aus.
  4. Löschen Sie die Bilder und Dateien im Cache. Wählen Sie Dreipunkt-Menü > Browserdaten löschen (oder drücken Sie Strg + Umschalttaste + Entf, auf dem Mac ⌘ + Umschalttaste + Rückschritttaste), wählen Sie einen Zeitraum wie Gesamte Zeit, setzen Sie ein Häkchen bei Bilder und Dateien im Cache, entfernen Sie das Häkchen bei Cookies und andere Websitedaten, wenn Sie angemeldet bleiben möchten, und wählen Sie Daten löschen. Die Google-Hilfeseite zum Löschen von Browserdaten erklärt jede Option. Das behebt die Variante „kann nicht aus dem Cache geladen werden“, holt aber kein Formularergebnis zurück, denn es löscht genau die Kopie, die „Zurück“ braucht.
  5. Aktualisieren Sie Chrome. Wählen Sie Dreipunkt-Menü > Hilfe > Über Google Chrome und, falls es erscheint, Neu starten.

In Microsoft Edge

Edge läuft auf derselben Chromium-Engine, meldet denselben Code und braucht dieselben Schritte. Um den Cache zu leeren, wählen Sie Einstellungen und mehr > Einstellungen > Datenschutz, Suche und Dienste, dann Browserdaten löschen und neben „Browserdaten jetzt löschen“ Wählen Sie aus, was gelöscht werden soll. Wählen Sie einen Zeitbereich, setzen Sie ein Häkchen bei Zwischengespeicherte Bilder und Dateien und wählen Sie Jetzt löschen.

Unter Android

In Chrome für Android laden Sie die Seite neu und bestätigen, oder Sie öffnen die Website erneut über ihre Adresse. Um den Cache zu leeren, tippen Sie rechts neben der Adressleiste auf das Dreipunkt-Menü, dann auf Browserdaten löschen, tippen auf Weitere Optionen, setzen ein Häkchen bei Bilder und Dateien im Cache und tippen auf Daten löschen.

Erscheint der Fehler nicht in Chrome, sondern in einer anderen App, stammt er aus der Web-Ansicht dieser App. Prüfen Sie, ob das Smartphone online ist, öffnen Sie denselben Link zum Vergleich in Chrome und aktualisieren Sie die App; tritt er weiter auf, kann nur der Entwickler der App ihn beheben.

Wie verhindern Website-Betreiber und Entwickler den Fehler?

  1. Leiten Sie nach jedem Formular weiter (Post/Redirect/Get). Ist das Formular verarbeitet, antworten Sie mit einem 303 See Other, das auf eine normale Seite mit dem Ergebnis zeigt, statt die Ergebnisseite direkt zurückzugeben. RFC 9110 nennt das als Hauptzweck des Statuscodes 303. „Zurück“ und Neuladen fordern diese Seite dann mit GET an, was sich gefahrlos wiederholen lässt. Auf unserem Testserver brauchte der Formular-Handler zwei Zeilen:
js
res.writeHead(303, { Location: "/done" });
res.end();
  1. Lassen Sie die Weiterleitung auf eine andere Seite zeigen. Eine Ergebnisadresse, die auf sich selbst oder zurück zum Formular-Handler weiterleitet, dreht sich im Kreis, bis Chrome mit einem Schleifenfehler aufgibt; err_too_many_redirects beheben zeigt, wie Sie eine solche Schleife finden.
  2. Behalten Sie no-store dort, wo es Daten schützt. Mit Post/Redirect/Get ist die Ergebnisseite eine normale GET-Seite, eine Zahlungsseite kann no-store also behalten, und „Zurück“ lädt sie einfach neu.
  3. Machen Sie eine Wiederholung harmlos. Geben Sie jedem Formular ein Einmal-Token mit und ignorieren Sie eine zweite Übermittlung mit demselben Token, damit ein Besucher, der Weiter wählt, keine zweite Bestellung auslöst.

In JavaScript und bei der Browser-Automatisierung

fetch(url, { cache: "only-if-cached", mode: "same-origin" }) antwortet nur aus dem Cache. Für eine Adresse, die nicht im Cache lag, protokollierte Chromium 145 Failed to load resource: net::ERR_CACHE_MISS und wies das Promise mit TypeError: Failed to fetch zurück; MDN beschreibt stattdessen eine 504-Antwort, behandeln Sie also beides. In unserem Test scheiterte auch page.goBack() von Playwright auf der Ergebnisseite mit no-store an net::ERR_CACHE_MISS.

In einer Android-WebView

Eine WebView kann Seiten nur dann aus dem Netz laden, wenn die App in ihrem Manifest die Internet-Berechtigung mit <uses-permission android:name="android.permission.INTERNET" /> anfordert. Die WebSettings-Referenz von Android sagt, dass Netzwerkzugriffe standardmäßig blockiert sind, wenn diese Berechtigung fehlt, und der WebView-Code von Chromium macht aus dieser Sperre ein Laden nur aus dem Cache, sodass schon die allererste Seite mit ERR_CACHE_MISS scheitert.

Als Zweites prüfen Sie setCacheMode. LOAD_CACHE_ONLY bedeutet Don't use the network, load from the cache (Netzwerk nicht verwenden, aus dem Cache laden), was zu einem Offline-Modus passt, aber bei allem scheitert, was noch nicht gespeichert ist; LOAD_DEFAULT ist die normale Einstellung.

Worin unterscheidet sich ERR_CACHE_MISS von ähnlichen Fehlern?

CodeNummerBedeutung
ERR_CACHE_MISS-400Keine gespeicherte Kopie, wo nur eine gespeicherte Kopie erlaubt war
ERR_CACHE_READ_FAILURE-401Eine gespeicherte Kopie existiert, konnte aber nicht gelesen werden
ERR_INTERNET_DISCONNECTED-106Das Gerät hat keine Netzwerkverbindung
ERR_TOO_MANY_REDIRECTS-310Weiterleitungen drehten sich in einer Schleife
ERR_PROXY_CONNECTION_FAILED-130Chrome konnte den auf dem Gerät eingestellten Proxy-Server nicht erreichen

Lesen Sie zuerst den Code unten auf der Fehlerseite; er benennt das Problem genauer als die Überschrift. Ein Proxy-Code verweist auf eine Proxy-Einstellung auf Ihrem Gerät, ein Fall, den Was ist err_proxy_connection_failed und wie beheben Sie es? behandelt.

Ein Proxy verursacht ERR_CACHE_MISS nicht: Die gespeicherte Kopie liegt in Ihrem eigenen Browser, und bei einer HTTPS-Website leitet ein Proxy nur verschlüsselten Datenverkehr weiter, den er weder lesen noch speichern kann. Was ein Proxy ändern kann, ist die Wiederholung. Über einen Residential-Proxy mit rotierenden Sitzungen kann ein erneut gesendetes Formular von einer anderen IP-Adresse ausgehen als beim ersten Mal; verwenden Sie für Anmeldungen und Bestellvorgänge deshalb eine Sticky-Sitzung, die eine Adresse 1 bis 60 Minuten lang behält.

Wo Ihnen der Fehler begegnen kann

  • Beim Drücken von „Zurück“ nach einer Kasse, einer Buchung oder einer Zahlungsseite.
  • Auf Bank- und Kontoseiten, die nie auf der Festplatte gespeichert werden.
  • Bei Such- und Filterformularen in Shops und auf Jobportalen, die ihre Daten per POST senden.
  • Bei Links, die in Apps geöffnet werden, die Webseiten über eine Web-Ansicht anzeigen.

Häufige Fehler

  • Den Cache leeren, um ein Formularergebnis zurückzuholen. Das löscht die Kopie, die „Zurück“ gezeigt hätte.
  • Nach einer Zahlung ohne Prüfung Weiter wählen. Die Website verarbeitet sie womöglich zweimal.
  • Das Netzwerk zurücksetzen oder den DNS-Server wechseln. Dieser Fehler erreicht das Netzwerk nie.
  • Chrome neu installieren. Der Browser tut genau das, wofür er gebaut wurde.
  • no-store von sensiblen Seiten entfernen. Fügen Sie stattdessen eine Weiterleitung nach dem Formular hinzu.
  • Eine WebView-App ohne Internet-Berechtigung ausliefern. Jede Seite, die nicht im Cache liegt, scheitert.

Entscheidungshilfe

SituationWas tun
Nach „Zurück“, auf einem Such- oder FilterergebnisNeu laden und Weiter wählen
Nach „Zurück“, auf einer Bestellung oder ZahlungKonto oder E-Mails prüfen; nicht erneut senden
Auf Seiten, die keine Formularergebnisse warenInkognito-Test, dann Bilder und Dateien im Cache löschen
„Diese Website kann nicht aus dem Cache geladen werden“Bilder und Dateien im Cache löschen, Chrome aktualisieren
In einer Android-AppIn Chrome vergleichen, die App aktualisieren, den Entwickler informieren
Ihre eigene Website zeigt ihn nach einem FormularPost/Redirect/Get mit einem 303
Ihre WebView-App scheitert schon an der ersten SeiteInternet-Berechtigung hinzufügen, Cache-Modus prüfen

Häufige Fragen

Ist ERR_CACHE_MISS gefährlich?

Nein. Es ist ein Sicherheitsstopp, kein Angriff und kein Virus: Chrome weigert sich, etwas zu wiederholen, das Sie getan haben, ohne Sie vorher zu fragen. Das einzige Risiko liegt darin, ein Formular erneut zu senden, das Geld abbucht oder eine Nachricht verschickt.

Warum erscheint ERR_CACHE_MISS auf YouTube oder Facebook?

Mit diesen Diensten selbst hat der Code nichts zu tun. Im Browser ist es derselbe Fall „Zurück nach einem Formular“ wie auf jeder Website; in einer App konnte die Web-Ansicht der App die Seite nicht aus dem Netz laden und fand keine gespeicherte Kopie. Laden Sie neu, prüfen Sie Ihre Verbindung und öffnen Sie den Link zum Vergleich in Chrome.

Wie behebe ich ERR_CACHE_MISS unter Android?

Laden Sie in Chrome neu und bestätigen Sie, oder öffnen Sie die Website erneut über ihre Adresse. Passiert es in einer anderen App, aktualisieren Sie diese App; eine fehlende Berechtigung oder eine Einstellung, die nur aus dem Cache lädt, kann in ihrem Code nur ihr Entwickler beheben.

Zeigt auch Microsoft Edge ERR_CACHE_MISS an?

Ja. Edge läuft auf Chromium und meldet aus denselben Gründen denselben Code, und es gelten dieselben Lösungen.

Wird mir eine Zahlung doppelt berechnet, wenn ich das Formular erneut sende?

Möglicherweise. Manche Websites erkennen eine doppelte Bestellung und stoppen sie, aber von außen können Sie das nicht erkennen; prüfen Sie also Ihre Banking-App, Ihre E-Mails oder den Bestellverlauf, bevor Sie Weiter wählen.

Behebt das Leeren des Cache ERR_CACHE_MISS?

Nur bei der selteneren Variante, nach der die Website nicht aus dem Cache geladen werden kann. Auf einer Seite „Erneute Formular-Übermittlung bestätigen“ bewirkt es das Gegenteil, weil es die Kopie löscht, die Chrome gezeigt hätte.

Fazit

ERR_CACHE_MISS bedeutet, dass Chrome eine gespeicherte Kopie einer Seite brauchte und keine hatte, fast immer bei einem Formularergebnis, das Sie mit „Zurück“ erreicht haben. Senden Sie harmlose Formulare erneut, prüfen Sie Bestellungen und Zahlungen zuerst und leeren Sie den Cache nur, wenn es bei dem Fehler nicht um ein Formular geht. Website-Betreiber verhindern ihn mit einer 303-Weiterleitung nach jedem Formular; Android-Entwickler prüfen die Internet-Berechtigung und den Cache-Modus der WebView. Wenn Sie mit Proxys arbeiten, erklärt unsere Proxy-Seite rotierende und Sticky-Sitzungen.

ChatGPT fragenClaude fragen