导致HTTP超时的两种常见原因

57次阅读
没有评论

 

在用户日常使用代理IP开展业务的过程中,许多用户或多或少都会遇到HTTP超时的问题,而导致这种情况出现的原因一般来说有两种—网络出现问题或者服务器端出现异常,具体表现为请求超时与响应超时:

导致HTTP超时的两种常见原因

请求超时

很多HTTP framework本身有超时机制,就是在应用层代码里启动一个Timer,如果Timer超时则手动取消请求。比如用户现在网络环境较差,当客户端发起一个请求时,通信层开始请求与服务器建立连接(包括在重试),如果在5S之内还没有连接到服务器,那么就会判定为超时。

响应超时

当用户连接到服务器时,一般例如url等参数(url?key=value)会直接提交到服务器,比如body类型的参数(Form、JsonBody、key=value&key1=value1等)我们会通过连接中的stream再手动写出去,当服务器接受到请求数据后开始【处理数据->响应】,这个【处理数据->响应】阶段就可能会发生响应超时,比如服务器去执行数据库操作,在5S内还没有对stream做出反馈,那么客户端就认为超时,主动断开和服务器的连接。

以上两种情况,底层一般都是抛出一个TimeoutException的异常,例如:

1.一个不存在的url,但是这个url的域名是存在的,比如:https://www.google.com?name=liming&pwd=123456这个URL显然是不存在的,但是域名是存在且可以请求的,这个时候的超时情况是符合上面的两种描述的,但是如果正确请求,那么将会响应404。

2. 一个不存在的域名。比如域名没有被注册过,或者说注册了没有被解析到某个ip上。这种情况一般都会收到毫秒级别的反馈,得到的异常可能是NotFoundHostException,而不是TimeoutException。

IPIPGO已向众多互联网知名企业提供服务,对提高爬虫的抓取效率提供帮助,支持API批量使用,支持多线程高并发使用,欢迎访问。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:代理IP2022-11-21发表,共计814字。
新手QQ群:570568346,欢迎进群讨论 Python51学习