首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在远程服务器故障时使用哪些HTTP状态代码? 500还是502?

在远程服务器故障时使用哪些HTTP状态代码? 500还是502?
EN

Stack Overflow用户
提问于 2018-04-30 13:29:45
回答 1查看 2.3K关注 0票数 7

我有一个API,根据客户的POST请求:

  1. 解析客户端的请求
  2. 处理请求中的数据
  3. 向远程服务器发送请求
  4. 从远程服务器接收响应。
  5. 对响应中的数据做更多的事情
  6. 将数据保存在数据库中
  7. 向客户端发送响应

换句话说,正常的web服务器内容。

如果远程服务器向我发送500 (或任何其他错误),我应该向客户端发送500 Internal Server Error还是502 Bad Gateway

从RFC 7231,

代码语言:javascript
复制
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.更像是“远程服务器错误”。

我应该用哪一种?500502还是其他?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-30 13:44:28

我要500美元。

这并不重要--这两者都是5xx系列错误的一部分,意思是“我们搞砸了,而不是你”--所以到底出了什么问题并不是真正需要尝试在返回的错误代码中传达的东西。500是通用的,理解得很好,含义也很清楚,所以我只想用它,不要把事情搞得太复杂。

来解决你的具体问题。

一方面,502坏网关看起来是为“哑”服务器设计的,这些服务器只将请求转发到远程服务器,并将其响应返回给客户端,而无需进行太多处理。

当然,这都是惯例,但我认为你的分析是合理的。

另一方面,无法访问远程服务器听起来不像是500内部服务器错误.更像是“远程服务器错误”。

我认为这仍然是一个内部服务器错误,只是一个由其他地方的远程服务器引起的内部服务器错误(这是您的用户可以说不需要知道的细节)。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50101598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档