412 Precondition Failed

Le code de réponse d'erreur HTTP 412 Precondition Failed indique que l'accès à la ressource visée a été refusé. Cela arrive avec les requêtes conditionnelles lorsque les méthodes utilisées ne sont pas GET ou HEAD et que la condition définie par les en-têtes If-Unmodified-Since (en-US) ou If-None-Match n'est pas respectée. Dans ce cas, la requête, généralement un téléversement ou une modification d'une ressource, ne peut être appliquée et ce code de réponse d'erreur est renvoyé.

Statut

412 Precondition Failed

Exemples

ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
ETag: W/"0815"

Éviter les conflits d'édition

Grâce aux en-têtes ETag et If-Match (en-US), il est possible de détecter des conflits d'édition sur une même ressource.

Par exemple, pour un wiki dont l'empreinte du contenu du document édité serait placée dans l'en-tête Etag de la réponse :

ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

Lors d'un enregistrement demandé côté client qui correspond à une requête HTTP POST, la requête contiendra un en-tête If-Match (en-US) contenant la valeur de l'ETag afin de vérifier la fraîcheur du contenu.

If-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"

Si les deux empreintes ne correspondent pas, cela signifie que le document a été édité entre-temps et une erreur 412 Precondition Failed est déclenchée.

Spécifications

Specification
Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
# status.412

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi