HTTP代理错误状态码

6

这款应用程序是基于Node.js的Web爬虫,通过request库向远程服务器发送请求。

使用第三方供应商提供的99%及以上正常运行时间的经过身份验证的HTTP代理服务器进行请求。

我正在尝试处理请求错误响应的HTTP代码,这些响应可能会由于代理故障而引起。预计在达到这些HTTP代码的阈值后,将触发一个不可靠代理的标志,因此代理将进入诊断队列。而且我认为一些代码的权重更高。

目前我正在处理代理的407(代理身份验证)和408(请求超时)HTTP代码。

还有其他HTTP代码通常由故障的HTTP代理引起吗?

希望问题足够具体。我假设可能的故障(以及可能的HTTP错误状态代码集)取决于实际代理及其环境。我们应该将这些代理视为黑盒子,因为它们由第三方提供。

问题并非关于HTTP状态码的总体情况,而仅涉及可能由故障代理(转发代理)引起的错误代码。


2
我无法提供所有错误状态码的全面列表,但是 https://docs.aws.amazon.com/apigateway/api-reference/handling-errors/ 可能是一个很好的参考起点。 - UchihaItachi
2
https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml - mehari
2
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes - mehari
2个回答

5
根据HAProxy文档(最流行的代理解决方案之一),
Haproxy 可以自己发出以下状态码:
  • 200 访问统计页面,回复监控请求时
  • 301 在执行重定向时,根据配置的代码而异
  • 302 在执行重定向时,根据配置的代码而异
  • 303 在执行重定向时,根据配置的代码而异
  • 307 在执行重定向时,根据配置的代码而异
  • 308 在执行重定向时,根据配置的代码而异
  • 400 请求无效或过大
  • 401 执行操作需要身份验证(访问统计页面时)
  • 403 由"block"ACL或"reqdeny"过滤器禁止请求

  • 408 请求超时导致请求未完成

  • 500 当haproxy遇到不可恢复的内部错误(例如内存分配失败)时,应该永远不会发生
  • 502 当服务器返回空、无效或不完整的响应时,或者当“rspdeny”过滤器阻止响应时。
  • 503 当没有服务器可用来处理请求时,或响应符合“monitor fail”条件的监视请求时
  • 504 当服务器响应之前响应超时时

-1
"由代理引起",我会理解包括名称中有“网关”的所有东西。
这里的诀窍是非标准的HTTP错误代码,专门由供应商实现/发明。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接