我应该为成功的HTTP DELETE请求返回410 Gone吗?

Dyl*_*tie 5 rest http-status-code-410 http-delete

我正在ReST API(构建在ServiceStack上)上实现DELETE支持,并想知道在成功删除DELETE后要返回的响应代码.

HTTP将410定义为:

请求的资源在服务器上不再可用,并且不知道转发地址.预计这种情况将被视为永久性的.具有链接编辑功能的客户端应该在用户批准后删除对Request-URI的引用.如果服务器不知道或无法确定条件是否是永久性的,则应该使用状态代码404(未找到).除非另有说明,否则该响应是可缓存的.

现在,如果一个资源刚刚出现DELETE,我可能确实希望应用这些建议中的许多......但是接受的实践似乎正在回归200 OK成功DELETE- 特别是因为该4XX范围应该表示错误条件.

除了HTTP规范中的指南之外,还有哪些令人信服的论据?

Rem*_*eau 10

RFC 2616第9.7节明确规定了以下有关响应DELETE:

如果响应包括描述状态的实体,则成功响应应为200(OK),如果操作尚未执行,则应为202(已接受);如果操作已颁布但响应不包括,则应为204(无内容)一个实体.