428 Precondition Required (RFC 6585) signifie que le serveur d’origine exige que la requête soit conditionnelle. Ce code prévient le problème de la « mise à jour perdue » : un client lit une ressource, la modifie et la réécrit avec PUT, écrasant ainsi les modifications que quelqu’un d’autre a faites entre-temps.
En répondant 428 aux écritures non conditionnelles, le serveur oblige les clients à envoyer If-Match avec l’ETag qu’ils ont lu. Si la ressource a changé, la requête conditionnelle échoue alors avec 412 Precondition Failed au lieu d’écraser silencieusement les données. La réponse devrait expliquer comment renvoyer la requête avec succès.
Exemple de réponse
HTTP/1.1 428 Precondition Required
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: application/json
Content-Length: 71
{"error":"Send If-Match with the current ETag to update this resource"} SEO et vérification des redirections
Aucun impact SEO : le code 428 s’applique aux requêtes d’écriture des API et de l’édition collaborative, et les requêtes GET des robots d’exploration ne le déclenchent pas.
Causes fréquentes et cas d’usage
- Une API exige
If-MatchsurPUT,PATCHouDELETE, et le client ne l’a pas envoyé. - Un service d’édition collaborative de documents impose un verrouillage optimiste.
- Une bibliothèque cliente qui ne gère pas les ETag communique avec une telle API.