跳到主要内容

3. 428 Precondition Required

428 状态码表示源服务器要求该请求是条件请求.

它的典型用途是避免 "lost update" (丢失更新) 问题: 客户端 GET 某个资源的状态, 修改后再 PUT 回服务器, 但在此期间第三方已经修改了服务器上的状态, 从而导致冲突. 通过要求请求为条件请求, 服务器可以确保客户端正在处理正确的副本.

使用此状态码的响应应当说明如何成功重新提交请求. 例如:

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>

带有 428 状态码的响应禁止由缓存存储.