Der HTTP 304 not modified Status Code zeigt ein Kommunikationsproblem zwischen dem Browser eines Nutzers und dem Server einer Webseite an. Wenn du oder deine Nutzer auf diesen Statuscode auf deiner Seite stoßen, kann er den Zugriff auf deinen Inhalt komplett blockieren.
Da das Problem sowohl auf der Server- als auch auf der Kundenseite auftreten kann, ist es nicht ganz einfach, die Ursache des Problems herauszufinden. Glücklicherweise gibt es einige narrensichere Techniken, um das Problem zu beheben.
In diesem Beitrag werden wir über HTTP-Statuscodes sprechen und erklären, was der HTTP 304 Statuscode ist. Dann führen wir dich durch sechs Methoden, die du (oder deine Besucher) anwenden kannst, um ihn zu beheben.
Lasst uns anfangen!
Eine Einführung in die HTTP-Statuscodes
Um HTTP 304 zu verstehen, hilft es, zuerst die Statuscodes zu verstehen. Einfach ausgedrückt: Jedes Mal, wenn du eine Anfrage an deinen Browser stellst – zum Beispiel beim Zugriff auf eine bestimmte Webseite – wird ein HTTP-Statuscode zwischen deinem Browser und dem Server gesendet, um Informationen auszutauschen.
Es gibt mehr als 40 verschiedene Statuscodes, die an dieser Kommunikation beteiligt sein können. Allerdings gibt es nur eine Handvoll, auf die du wahrscheinlich direkt stoßen wirst. Wenn du auf einen Statuscode stößt, bedeutet es normalerweise, dass etwas schief gelaufen ist.
HTTP-Statuscodes fallen in eine von fünf Kategorien, die zwischen 100 und 500 nummeriert sind. Jede Serie weist auf eine andere Art von Problem hin. Zum Beispiel bedeuten Fehlercodes, die in die 400er-Reihe fallen, wie der „404 Not Found„-Fehler und der „401-Fehler„, normalerweise, dass es ein Problem mit der Anfrage gab und die fragliche Webseite oder Seite nicht erreichbar war.
Auf der anderen Seite sind Codes in den 300ern – wie der HTTP 304 Status Code, auf den wir uns in diesem Beitrag konzentrieren werden – Umleitungscodes. Sie machen deutlich, dass die angeforderte Information entweder temporär oder dauerhaft durch eine andere Ressource ersetzt wurde.
Wenn du auf einen dieser Statuscodes triffst, bedeutet das, dass weitere Maßnahmen ergriffen werden müssen.
Was ist der HTTP 304 Status Code?
HTTP 304, auch manchmal als „304 Not Modified“ bekannt, ist ein Code, der deinem Browser das mitteilt: „Die angeforderte Ressource wurde seit dem letzten Mal, als du es aufgerufen hast, nicht geändert.
Die Internet Engineering Task Force (IETF) definiert den 304 Not Modified als:
Der 304 (Not Modified) Status Code zeigt an, dass eine bedingte GET oder HEAD Anfrage empfangen wurde und zu einer 200 (OK) Antwort geführt hätte, wenn die Bedingung nicht als falsch ausgewertet worden wäre. Mit anderen Worten, es gibt keine Notwendigkeit für den Server, eine Repräsentation der Zielressource zu übertragen, da die Anfrage anzeigt, dass der Kunde, der die Anfrage gestellt hat
Im Wesentlichen wird deinem (oder dem Browser deines Besuchers) vom Server mitgeteilt, dass die im Browser gespeicherten (zwischengespeicherten) Ressourcen seit deinem letzten Besuch dieser Seite nicht mehr geändert wurden.
Im Gegenzug holt dein Browser eine gespeicherte Version der Webseite aus dem Cache. Dies dient dazu, die Geschwindigkeit und die Auslieferung der Seite zu verbessern, indem verhindert wird, dass dein Browser die gleichen Informationen wiederholt herunterladen muss.
Schau dir unseren Video-Leitfaden zum 304 Not Modified Status Code und allen 3xx Redirects an
HTTP 304-Anfragen verstehen
Wenn dein Browser eine Ressource im Cache speichert, behält es die so genannte ‚Last-Modified Header‘-Information, die vom Server gesendet wurde. Wenn ein Browser eine Anfrage für eine Webseite erhält, von der er eine Kopie gespeichert hat, von der er aber nicht weiß, ob sie die neueste Version hat, sendet er eine Anfrage zur ‚bedingten Validierung‘ an den Server.
Der Browser teilt dem Server über den Header ‚If-Modified-Since‚ oder ‚If-None-Match‚ das ‚Last-Modified‘-Datum und die Uhrzeit für die Kopie der Ressource mit, die es besitzt. Der Server inspiziert diese Header und schaut sich auch den ETag-Wert an. Letzterer ist ein eindeutiger Bezeichner, der die Version einer bestimmten Ressource angibt.
Wenn die Werte für diese Dateien die gleichen sind, sendet der Server den HTTP 304 Not Modified-Antwort-Header und der Browser verwendet die gecachte Kopie der Ressource.
Wenn die Browserkopie veraltet ist, d.h. die Datei seit der letzten Anfrage geändert wurde, sendet er einen HTTP 200 Code und es wird eine neue Kopie verwendet.
Leider gibt es ein paar Probleme, die eine HTTP 304-Fehlerantwort verursachen können, wenn es nicht vorkommen sollte. Die häufigsten Ursachen sind unter anderem:
- Probleme mit der Serverkonfiguration oder Domain Name Server (DNS)
- Eine zwischengespeicherte Ressource, die infiziert oder beschädigt ist (d.h. Malware oder Viren, die den Browser angreifen)
Der 304-Statuscode kann auf ein Problem auf der Server- oder der Kundenseite zurückzuführen sein, daher kann es sein, dass du etwas Zeit für die Fehlersuche brauchst, um ihn zu diagnostizieren und zu beheben.
Wie man einen HTTP 304 Status Code behebt (6 mögliche Methoden)
Die Methoden, die du verwenden kannst, um einen HTTP 304 Statuscode zu beheben, variieren von einfach bis ziemlich technisch. Suchmaschinen sind für die Indizierung und das Zwischenspeichern von Webseiten verantwortlich, daher kann dieses Problem in der Regel auf den Browser zurückgeführt werden, der für den Zugriff auf die Seite verwendet wird.
Natürlich gibt es nur so viel, wie du tun kannst, um die Browser von Leuten zu beheben, die versuchen, auf deine Webseite zuzugreifen.
Es kann jedoch hilfreich sein, zu verstehen, was das Problem für die Besucher verursachen könnte, entweder wenn du versuchst, eine Lösung auf deiner Seite zu finden oder ihnen direkt zu helfen.
Mit diesem Gedanken im Hinterkopf, lass uns einen Blick auf sechs Methoden werfen, die du verwenden kannst, um einen HTTP 304 Statuscode zu beheben!
1. Lösche die Cache-Daten des Browsers
Zunächst einmal könnte das Bereinigen deiner Browserdaten, um den Cache zu leeren, beim Zugriff auf die gewünschte URL helfen. Dazu gehört das Löschen aller Browsing-Daten, Cookies und Cache-Informationen.
Die Anweisungen zur Ausführung dieses Vorgangs variieren je nach Browser, den du verwendest. Wenn du dir nicht sicher bist, wie du es auf deinem Gerät machst, kannst du gerne unsere Anleitung zum Löschen des Caches für alle gängigen Browser lesen.
2. Malware-Scan durchführen
Beschädigte Browser, die mit einem Virus oder Malware infiziert sind, können ein weiterer Übeltäter sein. Deshalb ist es eine gute Idee, einen Malware-Scan auf deinem System durchzuführen. Dies kann helfen, alle Probleme zu identifizieren und zu entfernen, die die Header-Anfrage unterbrechen oder stören könnten, einschließlich problematischer Erweiterungen.
Wenn du die Windows-Version von Chrome verwendest, kannst du den Malware-Scanner und das Malware Cleanup Tool ausführen, das im Lieferumfang enthalten ist.
Um dies zu tun, vergewissere dich zuerst, dass du die neueste Version von Chrome verwendest, indem du einen neuen Tab öffnest und auf das Menüsymbol klickst, Über Chrome:
Wenn dein Browser nicht auf die aktuelle Version aktualisiert ist, kannst du das an der gleichen Stelle beheben. Öffne dann einen neuen Chrome-Tab und gib „chrome://settings/cleanup“ in die URL-Leiste ein.
Drücke die Eingabetaste, und klicke dann neben „Schädliche Software finden und entfernen“ auf die Schaltfläche „Suchen„:
Der Scanner wird anfangen zu arbeiten, dann meldet er sich mit den Ergebnissen zurück.
Leider haben einige andere Browser wie Firefox und Edge, sowie die MacOS und Linux Betriebssysteme keine eigenen Versionen dieses eingebauten Tools. Stattdessen musst du einen Malware-Scan mit der Antiviren-Software auf deinem Computer durchführen.
3. Deaktiviere die Erweiterungen deines Browsers
Die Erweiterungen deines Browsers können ebenfalls infiziert werden und die Anfragen und die Serverkommunikation stören. Aus diesem Grund solltest du sie vielleicht auch deaktivieren. Du kannst dies tun, indem du das Menü von Chrome öffnest und auf Einstellungen > Erweiterungen gehst:
Auf der Seite Erweiterungen kannst du jede einzelne deaktivieren, indem du auf den entsprechenden Kippschalter klickst.
Du kannst auch unbenutzte oder veraltete Erweiterungen löschen, indem du auf die Schaltfläche Entfernen klickst:
Auch hier wird dieser Vorgang je nach Browser leicht variieren. Das Ziel ist es, jede Erweiterung manuell zu entfernen oder zu deaktivieren und dann zu überprüfen, ob dadurch das HTTP 304-Problem gelöst wird.
Dann kannst du versuchen, sie eine nach der anderen wieder einzuschalten.
4. DNS leeren und TCP/IP zurücksetzen
Wenn das Problem zu diesem Zeitpunkt noch nicht behoben ist, könnte es ein Problem mit den DNS-Einstellungen geben. Zum Beispiel könnte die Verwendung einer veralteten IP-Adresse einen HTTP 304 Status Code verursachen.
Daher ist eine andere Methode, es zu versuchen, die DNS zu leeren und die TCP/IP zurückzusetzen.
Mit Chrome kannst du die DNS des Browsers leeren, indem du „chrome://net-internals/#dns“ in einen neuen Tab eingibst.
Drücke die Eingabetaste und klicke dann auf die Schaltfläche „Host-Cache leeren„:
Du kannst auch die DNS leeren und das TCP/IP in deinem Betriebssystem zurücksetzen. Wenn du eine detaillierte Anleitung brauchst, kannst du unsere Anleitung zum DNS-Cache leeren (Windows, Mac, Chrome) lesen.
5. Versuche die Google Public DNS zu benutzen
Eine andere mögliche Ursache ist eine falsche DNS-Adresse. Daher lohnt es sich, den Google Public DNS zu verwenden, um zu sehen, ob das Problem dadurch behoben wird.
Unter Windows kannst du dies tun, indem du die Tasten Win + R drückst. In dem erscheinenden Run-Fenster gibst du „ncpa.cpl“ in das Befehlsfeld ein und drückst dann Ok.
Im Netzwerkverbindungen-Fenster, das sich als nächstes öffnet, suchst du die Netzwerkverbindung, die du benutzt und klickst mit der rechten Maustaste darauf. Als nächstes wähle Eigenschaften:
Doppelklicke von dort aus auf Internet Protocol Version 4:
Wähle die Option „Folgende DNS-Serveradressen verwenden“ und gib dann den Wert „8.8.8.8.8“ unter Bevorzugt und „8.8.4.4“ unter Alternativ ein:
Wenn du fertig bist, klicke auf Ok. Dann starte dein System neu und versuche erneut auf die Webseite zuzugreifen.
Um deine DNS-Servereinstellungen mit macOS zu ändern, würdest du zu Apple > Systemeinstellungen > Netzwerk gehen:
In dem Fenster, das sich öffnet, wähle deine Verbindung aus, klicke dann auf Erweitert und dann auf die Registerkarte DNS:
Klicke auf das + Symbol neben den IPv4 oder IPv6 Adressen, um die bestehenden Adressen durch die Google Public IPs zu ersetzen.
Für weitere Anweisungen oder für Hinweise zur Verwendung von Google Public DNS auf einem Linux- oder anderen Betriebssystem, schau dir Googles eigenen DNS-Leitfaden an.
6. Überprüfe deine Server-Konfigurationsdateien auf fehlerhafte Weiterleitungsinstruktionen
Ein HTTP 304 Not Modified Status Code kann sowohl durch Server- als auch durch Kunden-bezogene Probleme auftreten. Wenn keine der Methoden, die wir bisher behandelt haben, das Problem behoben hat, kann es sein, dass deine Serverkonfigurationsdateien fehlerhaft sind. Es ist zum Beispiel möglich, dass falsche Umleitungshinweise vorhanden sind.
Der Prozess zur Überprüfung deiner Serverkonfigurationsdateien hängt davon ab, ob du Nginx oder Apache verwendest.
Bei Kinsta benutzen wir den Nginx-Webserver. Wenn du also ein Kinsta-Benutzer bist, hast du keinen Zugriff auf die .htaccess-Datei, wie es bei Apache-Benutzern der Fall ist.
Du kannst aber trotzdem ähnliche Funktionen ausführen. Zum Beispiel kannst du, nachdem du dich bei MyKinsta eingeloggt hast, im Bereich Analytics > Response auf dem Dashboard nach einer Aufschlüsselung der Antwortcodes und Weiterleitungen suchen:
Du kannst auch die Fehlerprotokolle überprüfen. Wenn du eine spezielle Frage oder Anfrage zum Bearbeiten der Konfigurationsdateien hast, wende dich am besten an unser Support-Team.
Wenn dein Server auf Apache läuft, dann solltest du nach der .htaccess-Datei im Hauptverzeichnis deiner Webseite suchen. Du kannst dies tun, indem du dich in den Dateimanager deines Host-Accounts einloggst und zum Ordner public_html navigierst.
Sobald du diese Datei geöffnet hast, suche nach einer mod_cache-Modulsektion. Es sollte ungefähr so aussehen:
LoadModule cache_module modules/mod_cache.so
LoadModule cache_disk_module modules/mod_cache_disk.so
CacheRoot "c:/cacheroot"
CacheEnable disk "/"
CacheDirLevels 5
CacheDirLength 3
# When acting as a proxy, don't cache the list of security updates
CacheDisable "https://security.update.server/update-list/"
Wir raten davon ab, etwas zu löschen, da dies schweren Schaden anrichten kann. Stattdessen kannst du versuchen, den Cache-Abschnitt vorübergehend auszukommentieren, indem du ein „#“-Symbol am Anfang jeder Zeile hinzufügst.
Nachdem du deine Änderungen gespeichert hast, überprüfe, ob dies den HTTP 304 Statuscode behoben hat.
Zusammenfassung
300er Weiterleitungscodes werden verwendet, um die Seitengeschwindigkeit und Performance zu verbessern. Wenn ein Server oder ein Browser nicht richtig konfiguriert ist, kann die Kommunikation zwischen den beiden leider unterbrochen werden und zu einem HTTP 304 not modified status code führen. Es gibt sechs Methoden, die du verwenden kannst, um das zu beheben, und zwar:
- Lösche die Cache-Daten deines Browsers.
- Ausführen einer Malware-Suche.
- Deaktivieren der Erweiterungen deines Browsers.
- DNS leeren und TCI/IP zurücksetzen.
- Ausprobieren der Google Public DNS.
- Überprüfe deine Server-Konfigurationsdateien auf fehlerhafte Umleitungsanweisungen.