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