HTTP Status 304 - Not Modified

Der HTTP-Status-Code 304 Not Modified signalisiert, dass die angefragte Resource seit letzter Client-Anfrage nicht modifiziert wurde. Client kann gecachte Version verwenden. Response enthält keinen Body. Essential für Bandwidth-Optimierung durch Conditional Requests mit ETag oder If-Modified-Since.

Typ

Response-Status-Code

Syntax

Der Status Code wird ohne Response Body zurückgegeben bei erfolgreicher Cache-Validierung.

http
HTTP/1.1 304 Not Modified
ETag: "abc123"

Direktiven

Der 304 Not Modified Status Code wird für Cache-Validation Responses verwendet.

Conditional Requests
Client sendet If-None-Match mit ETag oder If-Modified-Since mit Timestamp. Server prüft, ob Resource modifiziert wurde. Bei Match antwortet Server mit 304 ohne Body.
No Response Body
Response darf keinen Message Body enthalten. Client muss gecachte Version verwenden. Header können aktualisierte Cache-Control oder Expiry Informationen enthalten.
Bandwidth Savings
Vermeidet Re-Transfer von unveränderten Resources. Besonders wertvoll für große Assets (Images, Videos, CSS/JS Bundles) die selten ändern.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für Status 304.

Beispiel 1 ETag Cache Revalidation

http
GET /api/products/42 HTTP/1.1
Host: api.example.com
If-None-Match: "v1-abc123"

HTTP/1.1 304 Not Modified
ETag: "v1-abc123"
Cache-Control: max-age=3600

Beispiel 2 Last-Modified Validation

http
GET /images/logo.png HTTP/1.1
Host: cdn.example.com
If-Modified-Since: Wed, 01 Oct 2025 10:00:00 GMT

HTTP/1.1 304 Not Modified
Last-Modified: Wed, 01 Oct 2025 10:00:00 GMT
Cache-Control: public, max-age=86400

Beispiel 3 Multiple ETag Conditional

http
GET /styles/main.css HTTP/1.1
Host: assets.example.com
If-None-Match: "v2-def456", "v1-abc123"

HTTP/1.1 304 Not Modified
ETag: "v2-def456"
Vary: Accept-Encoding

Cache Revalidation Flow

304 Not Modified Response spart Bandwidth durch Cache Revalidation

Vorteile für die Systemarchitektur

  • Extreme Bandwidth Reduction: Client lädt nur Header statt vollständige Resource bei Revalidation. Für große Files (Images, Videos, Bundles) spart dies Megabytes pro Request.
  • Fast Cache Validation:: 304 Response ist deutlich schneller als 200 OK mit vollem Body. Reduziert Latency für End-Users bei gecachten Resources.
  • Origin Server Protection: CDNs können 304 Responses cachen und beantworten. Reduziert Last auf Origin Server da nur Header-Checks statt vollständiger Resource-Serialization nötig.

Spezifikation

RFC 9110, Section 15.4.5 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-304-not-modified

Weitere Spezifikationen

ETag Header, If-None-Match Header, Cache-Control Header