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
412 Precondition Failed
Beispiele
Vorbedingung nicht erfüllt
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:
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:
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 |