Bedeutung
Der Server verlangt, dass die Anfrage bedingt ist (If-Match usw.), um verlorene Aktualisierungen zu verhindern.
Typische Ursachen
- PUT oder PATCH ohne If-Match an eine API, die optimistisches Sperren erzwingt
So beheben Sie es
Als Client oder Besucher
Ressource per GET abrufen, ihr ETag nehmen und es mit der Aktualisierung in If-Match senden.
Als Betreiber der Website oder API
Im Body erklären, welcher Header erforderlich ist.
Beispielantwort
HTTP/1.1
HTTP/1.1 428 Precondition Required
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Precondition Required",
"status": 428,
"detail": "Send If-Match with the ETag you last read."
} Spezifikation
FAQ
› Warum würde eine API If-Match verlangen?
Damit zwei Clients nicht unbemerkt gegenseitig ihre Änderungen überschreiben.
› 428 oder 412?
428: Es wurde keine Vorbedingung gesendet. 412: Sie wurde gesendet, ist aber fehlgeschlagen.