502是否是数据库错误的适当状态代码?

时间:2016-03-27 02:47:16

标签: database rest http-status-codes

502 Bad Gateway状态代码的定义是:

  

服务器在充当网关或代理时,从尝试完成请求时访问的上游服务器收到无效响应。

如果错误是由数据库引起的,是否应该使用适当的状态代码?尽管500 Internal Server Error状态代码的定义没有说明错误必须是内部的,但我不喜欢在错误是外部时使用它。

Web服务器是否可以被视为网关或代理,因为它正在执行除与数据库通信之外的任务,例如调用其他API和服务?

2 个答案:

答案 0 :(得分:6)

不,我不认为发生数据库错误时HTTP 502 Bad Gateway错误是合适的。

HTTP错误说明了HTTP协议。此特定错误表示服务器正在尝试中继HTTP请求,但上游服务器未正确响应。

与数据库服务器通信的Web应用程序超出HTTP范围,任何错误都应包含在通用HTTP 500 Internal server error响应代码中。

答案 1 :(得分:0)

没有有关数据库错误状态代码的参考。您可以使用500 Internal Server Error作为响应。