哪个 HTTP 代码用于系统错误?

Which HTTP code to use for a system error?

我正在构建一个 RESTful API 来控制一些硬件。 API 的一部分是从串行 (RS-232) 接口获取信息。有时,这可能会因任何原因(断开连接、设备损坏等)而失败。

我应该使用什么 HTTP 错误代码?我想在5xx范围内,因为要求是正确的,但我找不到合适的。

500 似乎是最通用或最合适的。来自维基百科:

5xx Server error The server failed to fulfil an apparently valid request.

500 Internal Server Error A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.

客户端不应该关心服务器为什么在处理请求时出错(系统错误),他们应该只关心请求失败了,这是服务器的问题。