88

我假设响应代码 200 始终允许响应体,但我找不到任何明确提及删除请求的响应体。

4

2 回答 2

152

它在RFC中明确提到

简短的回答是:

如果您返回200 ,则应包含一个带有描述已删除项目/资源的实体的响应正文。

202类似于异步请求/响应返回状态。

204明确表示您不包括响应正文

于 2011-07-05T10:40:21.073 回答
16

是的,根据 W3C 规范,您通常应该使用 200 响应代码进行响应:

9.7 删除

DELETE 方法请求源服务器删除由 Request-URI 标识的资源。此方法可能会被源服务器上的人工干预(或其他方式)覆盖。即使从源服务器返回的状态码表明操作已经成功完成,客户端也不能保证操作已经执行。但是,服务器不应指示成功,除非在给出响应时它打算删除资源或将其移动到无法访问的位置。

如果响应包含描述状态的实体,则成功的响应应该是 200(OK),如果操作尚未制定,则为 202(已接受),如果操作已经制定但响应不包括,则应为 204(无内容)一个实体。

如果请求通过缓存并且 Request-URI 标识了一个或多个当前缓存的实体,那么这些条目应该被视为陈旧的。对此方法的响应不可缓存。

于 2011-07-05T10:40:12.677 回答