412 Precondition Failed betekent dat een of meer voorwaarden in de requestheaders onwaar bleken. Het is het resultaat van een mislukte If-Match of If-Unmodified-Since, of van een mislukte If-None-Match bij andere methoden dan GET en HEAD. De server heeft de gevraagde actie niet uitgevoerd.
Het belangrijkste doel is voorkomen dat updates verloren gaan (optimistic concurrency control). Een client leest een resource met de bijbehorende ETag, bewerkt die en stuurt de wijziging met If-Match en die ETag. Heeft iemand anders de resource intussen gewijzigd, dan komt de ETag niet meer overeen en antwoordt de server met 412, in plaats van de andere wijziging te overschrijven. De code wordt ook gebruikt met If-None-Match: * om een resource alleen aan te maken als die nog niet bestaat.
Bij GET en HEAD levert een onware If-None-Match of If-Modified-Since een 304 Not Modified op, geen 412.
Voorbeeldresponse
HTTP/1.1 412 Precondition Failed
Date: Fri, 06 Nov 2026 10:15:32 GMT
ETag: "v8"
Content-Type: application/json
Content-Length: 52
{"error":"If-Match does not match the current ETag"} SEO en redirects controleren
Veelvoorkomende oorzaken en toepassingen
- Een bewerking werd geweigerd, omdat de resource na het lezen was gewijzigd (de ETag kwam niet overeen).
If-None-Match: *voorkwam dat een bestaand bestand werd overschreven.- Een API voor cloudopslag of een CDN ontving een conditioneel verzoek met een verouderde ETag.