1.链接重用机制
参考了
HttpClient官方sample代码的深入分析(连接池) - mumuxinfei - 博客园www.cnblogs.com
这篇文章;
代码基于httpcore的4.4版本和httpclient的4.5版本
首先我们来开重用策略类的接口,即位于httpcore包中的org.apache.http.ConnectionReuseStrategy
他的两个子类:同样位于httpcore包中
上面这个类也是默认的策略类,具体策略可以总结如下:
- request首部中包含Connection:Close,不复用
- response中Content-Length长度设置不正确,不复用
- response首部包含Connection:Close,不复用
- reponse首部包含Connection:Keep-Alive,复用
- 都没命中的情况下,如果HTTP版本高于1.0则复用
具体策略是如何赋予执行器的呢?
仍然要看httpclient包中的逻辑
org.apache.http.impl.client.HttpClientBuilder
看代码片段:
systemProperties默认为false,于是HttpClient默认使用的是
DefaultConnectionReuseStrategy.INSTANCE;类
2.KeepAlive策略
位于httpclient的接口类
唯一实现类
3.认证策略
待续