412 Precondition Failed

Der HTTP-Statuscode 412 Precondition Failed Client-Fehler-Antwort zeigt an, dass der Zugriff auf die Zielressource verweigert wurde. Dies geschieht bei bedingten Anfragen mit anderen Methoden als GET oder HEAD, wenn die Bedingung, definiert durch die Header If-Unmodified-Since oder If-Match, nicht erfüllt ist. In diesem Fall kann die Anfrage (in der Regel ein Hochladen oder eine Änderung einer Ressource) nicht durchgeführt werden und diese Fehlermeldung wird zurückgesendet.

Status

http
412 Precondition Failed

Beispiele

Vorbedingung nicht erfüllt

http
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
ETag: W/"0815"

Vermeidung von Gleichzeit-Bearbeitungen

Mit Hilfe der ETag- und If-Match Header können Konflikte oder gleichzeitige Bearbeitungen vermieden werden. Zum Beispiel, wenn einige Wiki-Seiten bearbeitet werden, wird der Inhalt gehasht und in einer ETag in erfolgreichen Antworten platziert:

http
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

Beim Speichern von Änderungen an einer Wiki-Seite (Daten posten) wird die POST Anfrage den If-Match Header enthalten, der die ETag-Werte enthält, die der Client aus der letzten Bearbeitung gespeichert hat, um die Aktualität der Ressource auf dem Server zu überprüfen:

http
If-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"

Wenn die Hashes nicht übereinstimmen, wurde das Dokument zwischenzeitlich bearbeitet und ein 412 Precondition Failed-Fehler wird ausgelöst.

Spezifikationen

Specification
HTTP Semantics
# status.412

Siehe auch