412 Precondition Failed
Le code de statut de réponse d'erreur client HTTP 412 Precondition Failed indique que l'accès à la ressource cible a été refusé.
Cela se produit avec les requêtes conditionnelles sur des méthodes autres que GET ou HEAD, lorsque la condition définie par les en-têtes If-Unmodified-Since ou If-Match n'est pas remplie.
Dans ce cas, la requête (généralement un téléversement ou une modification de ressource) ne peut pas être effectuée et cette réponse d'erreur est renvoyée.
Statut
412 Precondition Failed
Exemples
>Précondition non remplie
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
ETag: W/"0815"
Éviter les conflits d'édition
Grâce aux en-têtes ETag et If-Match, il est possible d'éviter les conflits ou les collisions d'édition.
Par exemple, lors de la modification de certaines pages wiki, le contenu est haché et placé dans un ETag dans les réponses réussies :
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
Lors de l'enregistrement des modifications d'une page wiki (envoi de données), la requête POST contiendra l'en-tête If-Match avec la valeur d'ETag que le client a enregistrée lors de la dernière édition afin de vérifier la fraîcheur de la ressource sur le serveur :
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 |
|---|
| HTTP Semantics> # status.412> |
Voir aussi
- Les codes de statut de réponse HTTP
- Requêtes conditionnelles
- Le code de statut HTTP
304 - Les en-têtes HTTP
If-Unmodified-Since,If-Match - Le code de statut HTTP
428