我有一个API,根据客户的POST请求:
换句话说,正常的web服务器内容。
如果远程服务器向我发送500 (或任何其他错误),我应该向客户端发送500 Internal Server Error还是502 Bad Gateway?
从RFC 7231,
6.6.3. 502 Bad Gateway
The 502 (Bad Gateway) status code indicates that the server, while
acting as a gateway or proxy, received an invalid response from an
inbound server it accessed while attempting to fulfill the request.一方面,502 Bad Gateway看起来是为“哑”服务器设计的,这些服务器只将请求转发到远程服务器,并将其响应返回给客户端,而无需进行太多处理。
另一方面,无法访问远程服务器听起来不像500 Internal Server Error.更像是“远程服务器错误”。
我应该用哪一种?500,502还是其他?
发布于 2018-04-30 13:44:28
我要500美元。
这并不重要--这两者都是5xx系列错误的一部分,意思是“我们搞砸了,而不是你”--所以到底出了什么问题并不是真正需要尝试在返回的错误代码中传达的东西。500是通用的,理解得很好,含义也很清楚,所以我只想用它,不要把事情搞得太复杂。
来解决你的具体问题。
一方面,502坏网关看起来是为“哑”服务器设计的,这些服务器只将请求转发到远程服务器,并将其响应返回给客户端,而无需进行太多处理。
当然,这都是惯例,但我认为你的分析是合理的。
另一方面,无法访问远程服务器听起来不像是500内部服务器错误.更像是“远程服务器错误”。
我认为这仍然是一个内部服务器错误,只是一个由其他地方的远程服务器引起的内部服务器错误(这是您的用户可以说不需要知道的细节)。
https://stackoverflow.com/questions/50101598
复制相似问题