我应该自己设置哪些http状态代码,以及在什么情况下?

时间:2012-03-27 21:01:55

标签: http http-headers http-status-codes

我应该自己设置哪些http状态代码,以及在什么情况下?

例如,如果服务器收到从数据库中删除不存在的条目的请求,我应该返回404错误代码吗?还有别的吗?

3 个答案:

答案 0 :(得分:1)

假设您正在讨论设计RESTful API,是的,在收到请求时返回404状态是有意义的(GETPUTDELETE )对不存在的实体进行操作。

答案 1 :(得分:0)

这完全取决于客户端是谁以及您需要什么功能。但我可能会警告404,因为它们是操作失败的代名词。但这可能是你的正确方法

答案 2 :(得分:0)

我不应该返回404代码,因为我大部分时间返回404意味着url不存在或者在我们执行{{1}时找不到页面请求。但是做Get请求,我会选择Delete消息错误(消息可以解释错误)。我认为返回400 Bad Request状态可能会令人困惑,但Bad Request会告诉api URL存在但是他做错了。 如果api的消费者不能很好地理解正在发生的错误,那可能会有些令人沮丧。但是,如果您不希望向客户提供此信息,则可以使用状态代码404。 我将为应用程序的内部部分返回404 (Not Found),但为应用程序的公共/消费者部分返回Bad Request

404 Not Found

  

此状态代码通常在服务器不希望时使用   明确说明请求被拒绝的原因,或者没有其他请求   回应是适用的。