Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. HTTP
  3. Reference
  4. HTTP-Antwortstatuscodes
  5. 304 Not Modified

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

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.

Status

http
304 Not Modified

Beispiele

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:

bash
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:

http
GET /en-US/ HTTP/1.1Host: developer.mozilla.orgUser-Agent: curl/8.7.1Accept: */*If-Modified-Since: Tue, 21 Nov 2050 08:00:00 GMT

Die 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
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: clear

Nun 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):

bash
curl --http1.1 -I --header 'If-None-Match: "b20a0973b226eeea30362acb81f9e0b3"' \ https://developer.mozilla.org/en-US/

Dies führt zu der folgenden HTTP-Anfrage:

http
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
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: clear

Spezifikationen

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.

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp