这两个库之间的任何关系或差异。
Commons HttpClient 是一个旧项目,产生了 HttpClient 3.1。该项目已被更大的Apache HttpComponents项目吸收,后者产生了 HttpClient 4.x。
这可能会让人感到困惑并带有一些政治色彩,但旧的 Commons HttpClient 库现在已经被弃用。
这两个库之间有任何区别吗?
有的。它们非常不同。首先,包名称不同,而且4.x
API比3.x
API更加丰富。
首先,4.x
HttpClient API基于旨在支持HTTP客户端和服务器端的核心库。核心库旨在支持阻塞I/O和事件驱动I/O,并且有一个AsyncHttpClient API用于支持后者。该框架还提供了很多关于cookie管理、连接管理、客户端身份验证、代理路由、资源处理和流处理等方面的功能。
可悲的是,这意味着编写用于使用HttpClient 3.x的代码需要进行重大改写才能使用HttpClient 4.x。我想这就是@skaffman所提到的混乱和政治的根源。
但对我来说,最重要的是,如果您正在开发新项目,则应该使用HttpClient 4.x。