0

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

200 好

或者

500内部服务器错误

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

4

3 回答 3

9

500 Internal Server Error如果客户端更改请求无法修复错误,则为正确状态。

4XX如果客户端可能能够修复他们的请求以避免错误(或者404如果找不到资源),请使用任何状态。

200 OK在几乎任何错误情况下都不是适当的状态,因为客户端认为事情正在正常运行(它们不是)并且可能会继续发出相同的导致错误的请求。

熟悉RFC2616 中可用的状态代码,并找到最适合这种情况的状态代码。

于 2012-01-19T17:30:57.537 回答
3

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

于 2012-01-19T17:30:47.577 回答
0

查看状态代码定义。500 或 400 应该适用于一般问题,但是,您越详细,返回的状态就越有用。

于 2012-01-19T17:30:38.097 回答