409双重PUT是否有冲突?

时间:2019-01-29 08:59:05

标签: rest http http-put

HTTP PUT规范says

  

如果目标资源确实具有当前表示形式,并且该表示形式已根据所包含表示形式的状态被成功修改,则原始服务器务必发送200(确定)或204(无内容)响应以指示成功完成请求。

在我的(类似于WebDAV的)API中,我发现它更加用户友好(并且更易于实现),从而避免了在连续的PUT上替换现有对象,而是显式地用409 Conflict或{{1 }}。是否违反了上述RFC?

我感到奇怪的是,我尝试过的WebDAV实现在文件的双PUT上返回405 Method Not Allowed,但在目录的双MKCOL上返回204 No Content。有任何这种不一致的原因吗?

1 个答案:

答案 0 :(得分:0)

PUT请求are idempotent。双重PUT应该与单一PUT具有相同的效果。