我应该为连接错误返回什么状态代码?

Pro*_*tic 11 http http-headers

我正在编写一个服务,将有关另一个请求的数据返回给使用者(例如,从bitly或t.co地址检索未缩短的URL).在大多数情况下,我可以返回一个状态代码来镜像我从服务器收到的代码,但是当我的服务无法连接到请求的URL时(例如,如果它不存在),最适合的状态代码是什么?我在想400 Bad Request或者408 Request Timeout,但这里有最好的做法吗?

Pau*_*mer 41

503 Service Unavailable似乎是一个合适的选择.该4xx代码是为了指示客户端做错了什么.在您指定的情况下,这是一个服务错误.

  • 我的理由是 *my* 服务运行正常,但客户端试图通过它请求一个不存在的 URL,这让我觉得是客户端错误。 (2认同)

And*_*son 6

502 Bad Gateway,因为您充当代理服务器。

超文本传输​​协议 (HTTP) 502 Bad Gateway 服务器错误响应代码表示服务器在充当网关或代理时从上游服务器接收到无效响应。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502