304 Not Modified
Der HTTP 304 Not Modified-Statuscode zeigt an, dass die angeforderten Ressourcen nicht erneut übertragen werden müssen, da sie sich seit der letzten Anfrage nicht geändert haben.
Dieser Status 304 wird verwendet, wenn eine bedingte GET- oder HEAD-Anfrage mit einem If-None-Match- oder If-Modified-Since-Header gestellt wird und die Bedingung als false ausgewertet wird. In diesem Fall leitet der Server den Client implizit auf die im Cache gespeicherte Ressource um, die ansonsten eine 200 OK-Antwort erzeugt hätte, wenn sich die Ressource geändert hätte.
Die HTTP 304 Code-Antwort enthält keinen Nachrichtentext, sondern nur die Header, die auch in einer entsprechenden 200 OK-Antwort enthalten wären. Dazu gehören Cache-Control, Content-Location, Date, ETag, Expires und Vary.
Zusätzliche Informationen:
Effizienz: Der Statuscode 304 ist wichtig für die Effizienz der Webkommunikation, da er die Bandbreitennutzung reduziert, indem unnötige Datenübertragungen vermieden werden. Dadurch können Clients die im Cache gespeicherten Ressourcen erneut verwenden, ohne sie erneut vom Server abrufen zu müssen.
Nutzung in Webanwendungen: Der HTTP 304 Not Modified-Status wird häufig von Webanwendungen verwendet, um die Ladezeiten von Webseiten zu optimieren, indem sie Caching-Mechanismen nutzen, die sicherstellen, dass nur geänderte Ressourcen heruntergeladen werden.
Entwicklertools: In vielen Entwicklertools von Browsern erscheinen zusätzliche Anfragen, die zu 304 Not Modified-Antworten führen. Dies geschieht, um Entwicklern zu zeigen, wann auf den lokalen Cache zugegriffen wird, was bei der Optimierung der Anwendungsleistung hilfreich sein kann.
Unterschied zu 200 OK: Während 200 OK eine vollständige Antwort mit dem Inhalt der Ressource sendet, bedeutet 304 Not Modified, dass der Client die im Cache gespeicherte Version der Ressource verwenden kann, da sich diese nicht geändert hat. Dies reduziert die Serverlast und verbessert die Antwortzeiten für den Benutzer.
Zusammengefasst bedeutet der HTTP 304 Not Modified-Statuscode, dass die angeforderten Ressourcen unverändert sind und der Client die im Cache gespeicherten Daten verwenden kann, was zu einer effizienteren Nutzung von Netzwerkressourcen führt.