412 Precondition Failed
Der HTTP-Statuscode 412 Precondition Failed
des Client-Fehler-Antwortcodes zeigt an, dass der Zugriff auf die Zielressource verweigert wurde. Dies geschieht bei konditionalen Anfragen mit anderen Methoden als GET
oder HEAD
, 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 diese Fehlermeldung wird zurückgesendet.
Status
412 Precondition Failed
Beispiele
Bedingung fehlgeschlagen
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
ETag: W/"0815"
Vermeidung von Konflikten
Mit Hilfe der ETag
- und If-Match
-Header können Sie Konflikte oder Überschneidungen verhindern. Zum Beispiel, wenn einige Wiki-Seiten bearbeitet werden, wird der Inhalt gehashed und in einer ETag
in erfolgreichen Antworten gespeichert:
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
Beim Speichern von Änderungen auf 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 in der Zwischenzeit bearbeitet und ein 412 Precondition Failed
-Fehler wird ausgelöst.
Spezifikationen
Specification |
---|
HTTP Semantics # status.412 |