HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应
用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net 包中已经提供了
访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不
够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新
的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本
和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开
源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在 HttpClient 最新版本为 HttpClient 4.5
(GA) (2015-09-11)
总结:HttpClient 是 java 为了远程请求开发的 http 请求工具包
HttpClient 和 JSONP 的区别
- JSONP 是基于浏览器的,解决跨域问题的.而 httpClient 是基于代码.模拟 http 请求.获
取服务端的参数的,功能上类似,但是经过的环节不同. - 安全性不同
JSONP 的全部信息都可以通过浏览器进行监控.但是 HttpClient 浏览器不能监控. - 代码调用层级不同
Jsonp 需要调用服务端业务逻辑,最多 3 层
HttpClient 需要调用 5 层
适用场景:
如果从服务端获取数据,js 可以直接解析.使用 JSONP,如果服务端的程序的返回
值,需要进一步处理.这时使用 HttpClient