Zum Hauptinhalt springen

3. 428 Vorbedingung erforderlich (Precondition Required)

Der 428-Statuscode zeigt an, dass der Ursprungsserver verlangt, dass die Anfrage bedingt ist.

Seine typische Verwendung besteht darin, das Problem des "verlorenen Updates" zu vermeiden, bei dem ein Client den Zustand einer Ressource mit GET abruft, ihn modifiziert und mit PUT an den Server zurücksendet, während in der Zwischenzeit ein Dritter den Zustand auf dem Server geändert hat, was zu einem Konflikt führt. Durch die Forderung, dass Anfragen bedingt sein müssen, kann der Server sicherstellen, dass Clients mit den richtigen Kopien arbeiten.

Antworten mit diesem Statuscode sollten (SHOULD) erklären, wie die Anfrage erfolgreich erneut übermittelt werden kann. Zum Beispiel:

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>

Antworten mit dem 428-Statuscode dürfen nicht (MUST NOT) von einem Cache gespeichert werden.