HTTP代理什么时候应该使用状态代码502?

时间:2016-01-09 16:56:44

标签: http

RFC 2616表示502表示:"服务器在充当网关或代理时,从尝试完成请求时访问的上游服务器收到无效响应。"

究竟什么算无效?这包括来自上游服务器的类似500的内容吗?

1 个答案:

答案 0 :(得分:1)

想象一下,您已实现和API聚合来自几个第三方服务器的响应。例如。您有一个应用程序,如果询问有关 lol@lol.com 的信息,用户将从FB,TW和G +返回有关此用户的所有公共数据。

您的API或多或少充当代理服务器。现在,如果其中一个请求失败,您可以选择将返回给客户端的内容。如果您想明确说明您的应用程序是如何工作的,那么您可以返回502 Bad Gateway以及消息:抱歉,无论出于何种原因,请求FB失败以及全部。但是你也可以隐藏实现细节并返回例如409 Conflict响应以及详细信息:没有关于用户的FB活动的信息

在这个特定的例子中,207 Multi Status也非常有用。