412 Precondition Failed
Der HTTP-Statuscode 412 Precondition Failed
Client-Fehlerantwort zeigt an, dass der Zugriff auf die Zielressource verweigert wurde.
Dies geschieht bei bedingten Anfragen bei Methoden, die nicht GET
oder HEAD
sind, wenn die Bedingung, die durch die Header If-Unmodified-Since
oder If-Match
definiert ist, nicht erfüllt ist.
In diesem Fall kann die Anfrage (normalerweise ein Upload oder eine Änderung einer Ressource) nicht durchgeführt werden und diese Fehlermeldung wird zurückgesendet.
Status
412 Precondition Failed
Beispiele
Bedingung fehlgeschlagen
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
ETag: W/"0815"
Vermeidung von gleichzeitigen Zugriffen
Mit Hilfe der ETag
- und der If-Match
-Header können Sie Konflikte oder gleichzeitige Änderungen vermeiden.
Beispielsweise wird beim Bearbeiten von Wiki-Seiten der Inhalt gehasht und in erfolgreichen Antworten in ein ETag
eingefügt:
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
Beim Speichern von Änderungen an einer Wiki-Seite (Versenden von Daten) enthält die POST
-Anfrage den If-Match
-Header mit den ETag
-Werten, 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 |