4×× Client Error

428 Precondition Required

The origin server requires the request to be conditional.

Its typical use is to avoid the "lost update" problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict. By requiring requests to be conditional, the server can assure that clients are working with the correct copies.

Responses using this status code SHOULD explain how to resubmit the request successfully. For example:

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>

Responses with the 428 status code MUST NOT be stored by a cache.


428 Code References

Rust HTTP Status Constant http::StatusCode::PRECONDITION_REQUIRED

Symfony HTTP Status Constant Response::HTTP_PRECONDITION_REQUIRED

← Return to httpcod.es