Aller au contenu principal

3. 428 Condition préalable requise (Precondition Required)

Le code d'état 428 indique que le serveur d'origine exige que la requête soit conditionnelle.

Son utilisation typique est d'éviter le problème de "mise à jour perdue", où un client effectue un GET de l'état d'une ressource, la modifie et la renvoie au serveur via PUT, alors qu'entre-temps un tiers a modifié l'état sur le serveur, entraînant un conflit. En exigeant que les requêtes soient conditionnelles, le serveur peut s'assurer que les clients travaillent avec les copies correctes.

Les réponses utilisant ce code d'état devraient (SHOULD) expliquer comment soumettre à nouveau la requête avec succès. Par exemple:

HTTP/1.1 428 Precondition Required
Content-Type: text/html

<html>
<head>
<title>Precondition Required</title>
</head>
<body>
<h1>Precondition Required</h1>
<p>This request is required to be conditional;
try using "If-Match".</p>
</body>
</html>

Les réponses avec le code d'état 428 ne doivent pas (MUST NOT) être stockées par un cache.