是否允许HTTP-DELETE请求的响应体?

时间:2011-07-05 10:33:28

标签: rest http http-delete

我假设响应代码200总是允许响应主体,但我找不到任何明确提及DELETE请求的响应主体。

2 个答案:

答案 0 :(得分:123)

RFC

中明确提到了这一点

简短的回答是:

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

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

204 明确表示您未包含回复正文

答案 1 :(得分:15)

是的,您通常应根据the W3C spec回复200响应代码:

  

9.7删除

     

DELETE方法请求   origin server删除资源   由Request-URI标识。这个   方法可以被人类覆盖   干预(或其他手段)   原始服务器。客户不可能   保证操作已经完成   进行了,即使状态代码   从原始服务器返回   表示该操作已经执行   顺利完成。然而   服务器不应该表明成功   除非,在回应的时候   给定,它打算删除   资源或将其移动到无法访问的地方   位置。

     

成功回应应该是200   (好)如果回复包括   描述状态的实体,202   (已接受)如果行动尚未执行   已颁布,或204(无内容)如果   该行动已经颁布但是   响应不包括实体。

     

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