Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
304 Not Modified
Der HTTP-Statuscode304 Not ModifiedRedirection Response gibt an, dass es nicht notwendig ist, die angeforderten Ressourcen erneut zu übertragen.
Dieser Antwortcode wird gesendet, wenn die Anfrage einebedingteGET oderHEAD Anfrage mit einemIf-None-Match oder einemIf-Modified-Since Header ist und die Bedingung als 'false' bewertet wird.Es bestätigt, dass die vom Client zwischengespeicherte Ressource noch gültig ist und dass der Server eine200 OK-Antwort mit der Ressource gesendet hätte, wenn die Bedingung als 'true' bewertet worden wäre.SieheHTTP-Caching für weitere Informationen.
Die Antwort darf keinen Body enthalten und muss die Header beinhalten, die in einer entsprechenden200-Antwort gesendet worden wären, wie zum Beispiel:
Hinweis:VieleEntwicklertools-Netzwerk-Panels von Browsern erzeugen überflüssige Anfragen, die zu304-Antworten führen, damit der Zugriff auf den lokalen Cache für Entwickler sichtbar ist.
In diesem Artikel
Status
304 Not ModifiedBeispiele
>304-Antwort auf bedingte Anfragen
Die folgenden Beispiele zeigenGET-Anfragen, die mitcurl mit bedingten Anfrage-Headern durchgeführt werden.Das--http1.1-Flag wird verwendet, um das HTTP/1.1-Protokoll der Lesbarkeit halber zu erzwingen.
Die erste Anfrage verwendet eineIf-Modified-Since-Bedingung mit einem zukünftigen Datum, dem 21. November 2050.Dies muss zufalse bewertet werden, da die Ressource nicht nach einer Zeit aktualisiert worden sein kann, die noch nicht eingetreten ist:
curl --http1.1 -I --header 'If-Modified-Since: Tue, 21 Nov 2050 08:00:00 GMT' \ https://developer.mozilla.org/en-US/Dies führt zu der folgenden HTTP-Anfrage:
GET /en-US/ HTTP/1.1Host: developer.mozilla.orgUser-Agent: curl/8.7.1Accept: */*If-Modified-Since: Tue, 21 Nov 2050 08:00:00 GMTDie Antwort wäre200 OK mit der aktuellen Version der Ressource, wenn die Ressource nach dem Zeitstempel imIf-Modified-Since-Header aktualisiert worden wäre.Stattdessen erhalten wir eine304-Antwort, die die HeaderETag,Age undExpires enthält, die uns mitteilen, dass unsere zwischengespeicherte Version der Ressource noch aktuell ist:
HTTP/1.1 304 Not ModifiedDate: Wed, 28 Aug 2024 09:52:35 GMTExpires: Wed, 28 Aug 2024 10:01:53 GMTAge: 3279ETag: "b20a0973b226eeea30362acb81f9e0b3"Cache-Control: public, max-age=3600Vary: Accept-EncodingX-cache: hitAlt-Svc: clearNun führen Sie einen weiterencurl-Befehl mit demetag-Wert aus der vorherigen Antwort mit derIf-None-Match-Bedingung aus (da dieseretag die aktuelle Version der Ressource auf dem Server ist, erwarten wir eine304 Not Modified-Antwort):
curl --http1.1 -I --header 'If-None-Match: "b20a0973b226eeea30362acb81f9e0b3"' \ https://developer.mozilla.org/en-US/Dies führt zu der folgenden HTTP-Anfrage:
GET /en-US/ HTTP/1.1Host: developer.mozilla.orgUser-Agent: curl/8.7.1Accept: */*If-None-Match: "b20a0973b226eeea30362acb81f9e0b3"Da deretag-Wert zum Zeitpunkt der Anfrage übereinstimmt, schlägt die Bedingung der Entity-Tag fehl, und es wird eine304-Antwort zurückgegeben:
HTTP/1.1 304 Not ModifiedDate: Wed, 28 Aug 2024 10:36:35 GMTExpires: Wed, 28 Aug 2024 11:02:17 GMTAge: 662ETag: "b20a0973b226eeea30362acb81f9e0b3"Cache-Control: public, max-age=3600Vary: Accept-EncodingX-cache: hitAlt-Svc: clearSpezifikationen
| Specification |
|---|
| HTTP Semantics> # status.304> |
Kompatibilitätsnotizen
Das Browserverhalten unterscheidet sich, wenn diese Antwort fälschlicherweise einen Body bei persistenten Verbindungen enthält.Siehe204 No Content für weitere Details.