如果我的脚本抛出异常,我应该返回什么HTTP状态?
200 OK
或
500内部服务器错误
假设用户请求参数是正确的,但我的脚本中存在一个错误,导致出现错误消息而不是正确的响应(XML,JSON或其他格式)。什么应该是HTTP状态?
答案 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,但是,你可以越详细,返回状态就越有用。