- 如何使用 HttpClient 创建连接池?
- 我必须频繁连接到同一台服务器。值得创建这样一个池吗?
- 是否可以保持 HTTP 连接处于活动状态并将其用于各种请求,如果可以,我该怎么做?
我最近几天一直在研究这个问题,所以只想与您分享一些“众所周知”的知识。
首先,由于您正在处理同一台服务器,因此建议使用单个 HTTP 客户端来执行您的请求。在...的帮助下PoolingHttpClientConnectionManager
,您的客户端可用于同时执行多个请求。官方多线程请求执行的例子可以找到here https://hc.apache.org/httpcomponents-client-4.5.x/current/tutorial/html/connmgmt.html#d5e405.
其次,HTTP/1.1(以及 HTTP/1.0 的增强版本)允许 HTTP 客户端在事务完成后保持连接打开,以便可以在将来的请求中重用。这通常被称为持续连接.
另外,为了重用客户端进行多个请求,来自服务器的响应标头通常包含属性调用Keep-Alive
包含当前连接保持活动状态的时间。除此之外,Apache Http Client 还为您提供了一个接口ConnectionKeepAliveStrategy
自定义您自己的重用连接策略。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)