哪种HTTP状态码用于系统错误?

3

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

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

Translated: 我正在设计一个RESTful API,用于控制一些硬件。该API的一部分需要从串行(RS-232)接口获取信息。然而,由于某些原因,例如连接中断或设备故障等,有时会出现执行失败的情况。
对于这种情况,应该使用哪个HTTP错误代码呢?我认为5xx范围内比较合适,因为请求本身是正确的,但是我无法找到一个合适的代码。

1
使用 500 会怎样? - sp00m
2
500作为通用错误是可以的,503更具体地表示临时错误。 - deceze
1
如果客户无法解决此问题,则5xx 似乎是最佳选择。 - Ovidiu Dolha
503 - 服务不可用,Retry-After 标头提供了一些指示,什么时候情况可能会好转。 - diginoise
1个回答

3

500看起来是最通用或最合适的。根据维基百科:

5xx服务器错误 服务器未能满足明显有效的请求。

500内部服务器错误 一个通用的错误消息,当遇到意外情况且没有更具体的消息适用时给出。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接