1. ConnectTimeout
客户端与服务器建立连接的最长等待时间,超过则出错。
2. SocketTimeout
读取返回内容的最长等待时间,超过则出错。
这个值具体的意思是,如果SocketTimeOut设置的时间是4秒,下图中显示的接收结果一共是6秒,但是也并不会出错,
因为 a 到 b 之间只用了 3秒,b 到 c 之间也只用了 3秒,每次接收数据的间隔都没有超过4秒,
所以该值的具体意思就是,读取服务端返回内容的最大间隔时间。
3. ConnectionRequestTimeout
如果连接池满了,客户端从连接池中获取连接的最长等待时间,超过则出错。
4. DefaultMaxPerRoute
route的连接大小,什么是一个route?
这里route的概念可以理解为 客户端 到 目标服务器的一条线路。
举例来说,我们使用HttpClient的实现来分别请求 www.baidu.com 的资源和 www.bing.com 的资源那么他就会产生两个route。
该值如果设置为2,意味着对于同一个目标机器的最大并发连接只有2个,即使你设置连接池的最大连接数为200,
但是实际上还是只有2个连接在工作,其他剩余的198个连接都在等待,都是为别的目标机器服务的,因此该值可以设置成与连接池大小一样,即可保证同一个地址,也可以最大限度的并发请求。