HTTP 状态 : 409 vs 428

标签 http http-status-codes http-status http-status-code-409

来自 List of HTTP status code (Wikipedia)它说:

409冲突

表示由于请求中存在冲突而无法处理该请求,例如多个同时更新之间的编辑冲突。

需要 428 前提条件 (RFC 6585)

源服务器要求请求是有条件的。旨在防止“丢失更新”问题,在这种情况下,客户端获取资源的状态,对其进行修改,然后将其放回服务器,同时第三方修改了服务器上的状态,从而导致冲突。”

然而,428 项中提到的“丢失更新” 问题不正是 中提到的“编辑冲突” 问题吗? 409 项?

那么问题是这两种状态码有什么区别,什么时候应该使用哪一种呢?

最佳答案

您发送 428 以向客户端表明您接受条件请求。

(条件请求是那些携带“条件”请求头字段的请求,如 https://www.greenbytes.de/tech/webdav/rfc7232.html 中所述)

关于HTTP 状态 : 409 vs 428,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44946472/

相关文章:

java - 是否可以在 MessageBodyWriter 中更改 HTTP 状态?

java - 当找不到具有通过请求正文传递的 id 的对象时的 HTTP 状态代码

php - HTTP/1.1 400 file_get_contents 中的错误请求

c# - 从 WebAPI 返回自定义 HTTP 状态代码?

javascript - AngularJs:嵌套状态不显示

c# - 自定义错误在本地工作,而不是在 IIS 上部署后

php - 强制http/https : How to detect https and which status header to send when redirecting?

php - 使用 error_page 检索 REDIRECT_STATUS

javascript - 如何实现由第三方服务器触发的JavaScript方法?

http - JSON/XML RPC 和 HTTP api 或 TCP API 有什么区别