2015-11-06 22:55:41 +01:00
|
|
|
---
|
|
|
|
set: 4
|
|
|
|
code: 428
|
|
|
|
title: Precondition Required
|
|
|
|
---
|
|
|
|
|
2015-11-07 05:34:40 +01:00
|
|
|
The 428 status code indicates that 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.
|
|
|
|
|
|
|
|
[1]: <http://tools.ietf.org/html/rfc6585#section-3>
|