来自 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/