DevToolPal
DE
4xx Client-Fehler

412 Precondition Failed

Vorbedingung fehlgeschlagen

Bedeutung

Eine Vorbedingung in den Headern, etwa If-Match oder If-Unmodified-Since, war falsch, daher hat der Server die Anfrage nicht ausgeführt.

Typische Ursachen

  • Jemand anderes hat die Ressource aktualisiert (ETag geändert)
  • Veraltetes zwischengespeichertes ETag in If-Match
  • Bedingter Upload in einen Speicher, der bereits ein neueres Objekt enthält

So beheben Sie es

Als Client oder Besucher

Ressource erneut per GET abrufen, um das aktuelle ETag zu erhalten, Änderungen erneut anwenden und neu senden.

Als Betreiber der Website oder API

Das aktuelle ETag zurückgeben und bedingte Prüfungen atomar mit dem Schreibvorgang ausführen.

Beispielantwort

HTTP/1.1
HTTP/1.1 412 Precondition Failed
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
ETag: "v8"
Content-Type: application/problem+json

{
  "type": "about:blank",
  "title": "Precondition Failed",
  "status": 412,
  "detail": "If-Match \"v7\" does not match the current version \"v8\"."
}

Spezifikation

RFC 9110 §15.5.13

FAQ

› Was ist optimistische Nebenläufigkeitskontrolle?

Clients senden If-Match mit dem gelesenen ETag; der Server lehnt das Schreiben mit 412 ab, wenn sich die Ressource inzwischen geändert hat.

› 412 oder 428?

412: Ihre Vorbedingung ist fehlgeschlagen. 428: Sie müssen überhaupt eine Vorbedingung senden.