HTTP PUT规范says:
如果目标资源确实具有当前表示形式,并且该表示形式已根据所包含表示形式的状态被成功修改,则原始服务器务必发送200(确定)或204(无内容)响应以指示成功完成请求。
在我的(类似于WebDAV的)API中,我发现它更加用户友好(并且更易于实现),从而避免了在连续的PUT上替换现有对象,而是显式地用409 Conflict
或{{1 }}。是否违反了上述RFC?
我感到奇怪的是,我尝试过的WebDAV实现在文件的双PUT上返回405 Method Not Allowed
,但在目录的双MKCOL上返回204 No Content
。有任何这种不一致的原因吗?