502 Bad Gateway
状态代码的定义是:
服务器在充当网关或代理时,从尝试完成请求时访问的上游服务器收到无效响应。
如果错误是由数据库引起的,是否应该使用适当的状态代码?尽管500 Internal Server Error
状态代码的定义没有说明错误必须是内部的,但我不喜欢在错误是外部时使用它。
Web服务器是否可以被视为网关或代理,因为它正在执行除与数据库通信之外的任务,例如调用其他API和服务?
答案 0 :(得分:6)
不,我不认为发生数据库错误时HTTP 502 Bad Gateway
错误是合适的。
HTTP错误说明了HTTP协议。此特定错误表示服务器正在尝试中继HTTP请求,但上游服务器未正确响应。
与数据库服务器通信的Web应用程序超出HTTP范围,任何错误都应包含在通用HTTP 500 Internal server error
响应代码中。
答案 1 :(得分:0)
没有有关数据库错误状态代码的参考。您可以使用500 Internal Server Error
作为响应。