HTTP状态:409 vs 428

Gel*_*Luo 6 http http-status-codes http-status http-status-code-409

HTTP状态代码列表(维基百科),它说:

409冲突

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

428必备前提条件(RFC 6585)

原始服务器要求请求是有条件的.旨在防止"丢失更新"问题,客户端获取资源的状态,修改它,并将其恢复到服务器,同时第三方修改了服务器上的状态,导致冲突.

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

那么问题是两个状态代码之间的区别是什么?我们何时应该使用它们中的哪一个?

Jul*_*hke 6

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

(条件请求是带有"条件"请求标头字段的请求,如https://www.greenbytes.de/tech/webdav/rfc7232.html中所述)