【问题标题】:Is it correct to return a 502 status code when it's my proxy that has an internal error?当我的代理出现内部错误时,返回 502 状态码是否正确?
【发布时间】:2011-05-09 07:52:56
【问题描述】:
我编写了一个小型代理,我想知道当代理服务器本身出现内部错误时返回502 Bad Gateway 错误是否正确。 RFC 似乎说只有在另一端的服务器给出错误响应时才这样做。
服务器在充当网关或代理时,在尝试满足请求时从它访问的上游服务器收到了无效响应。
我的意思是,例如,如果上游服务器设置了一个与响应正文长度不同的 content-length 标头,我们应该设置一个 502 错误,即当响应无效时。
我是否误解了 RFC?
【问题讨论】:
标签:
http
proxy
rfc
rfc2616
【解决方案1】:
无效的 Content-Length 也可以作为无效响应(502 错误)处理。 503 只应在条件是临时的时使用,即可以在以后处理相同的请求。
【解决方案2】:
通常的做法是使用 500 AFAIK。这在某种程度上是错误的,因为原始服务器和代理之间没有区别。我还观察到服务器返回 504,但我认为这种行为是错误的。