异常的正确HTTP状态是什么?

时间:2012-01-19 17:27:35

标签: http http-status

如果我的脚本抛出异常,我应该返回什么HTTP状态?

200 OK

500内部服务器错误

假设用户请求参数是正确的,但我的脚本中存在一个错误,导致出现错误消息而不是正确的响应(XML,JSON或其他格式)。什么应该是HTTP状态?

3 个答案:

答案 0 :(得分:9)

如果客户端更改其请求无法修复错误,则

500 Internal Server Error是正确的状态。

如果客户端可能能够修复其请求以避免错误,则使用任何4XX状态(如果未找到资源,则使用404。)

几乎在任何错误情况下,

200 OK 处于适当状态,因为客户端认为事情正常运行(他们不是这样)并且可能继续犯同样的错误 - 导致请求。

熟悉available status codes in RFC2616并找到最合适的情况。

答案 1 :(得分:3)

这取决于抛出异常的原因,因为它们几乎可以用于任何错误。如果它被抛出,因为在数据库中找不到URI中的某些id我会说404.另一方面,如果是因为数据库已关闭,我会抛出500.如果抛出异常但结果页仍然是对用户有用我会说返回200。

答案 2 :(得分:0)

查看Status Code Definitions。一般问题应该是500或400,但是,你可以越详细,返回状态就越有用。