HTTP代理错误状态代码

时间:2018-03-25 14:22:39

标签: node.js web-crawler http-status-codes http-proxy node-request

该应用程序是基于Node.js的网络爬虫,它通过request库向远程服务器发出请求。

请求是通过经过身份验证的HTTP代理服务器进行的,其运行时间为99%,并且由第三方供应商提供。

我正在尝试处理HTTP代码以应对可能由代理故障引起的请求错误响应。预计在达到这些HTTP代码的阈值后,将触发代理不可靠的标志,因此代理将排队等待诊断。我希望一些代码能够有更多的重量。

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

是否存在通常由HTTP代理故障引起的其他HTTP代码?

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

问题不在于一般的HTTP状态代码,只有错误代码可能是由代理故障(转发代理)引起的。

2 个答案:

答案 0 :(得分:3)

根据HAProxy docs(最受欢迎的代理解决方案之一)

  

Haproxy可能会自行发出以下状态代码

     
      
  • 200访问统计信息页面,以及回复监控请求时
  •   执行重定向时,
  • 301,具体取决于配置的代码
  •   执行重定向时,
  • 302,具体取决于配置的代码
  •   
  • 303执行重定向时,具体取决于配置的代码
  •   
  • 307执行重定向时,具体取决于配置的代码
  •   执行重定向时,
  • 308,具体取决于配置的代码
  •   
  • 400表示无效或过大的请求
  •   
  • 401,当需要进行身份验证时执行操作(何时          访问统计页面)
  •   
  • 403当“阻止”ACL或“reqdeny”过滤器禁止请求时

  •   
  • 408请求超时在请求之前发生   已完成

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

答案 1 :(得分:0)

"由代理人引起的#34;我基本上都理解包括“#34;网关”在内的所有内容。

这里的技巧是非标准的HTTP错误代码,由提供商专门实现/发明。