httpclient简介
Apache HttpComponents™项目负责创建和维护一个专注于HTTP和相关协议的低级Java组件工具集。
该项目在Apache软件基金会( http://www.apache.org )下运行,并且是更大的开发人员和用户社区的一部分。
超文本传输协议(HTTP)可能是当今互联网上使用的最重要的协议。 网络服务,支持网络的设备以及网络计算的发展继续扩大了HTTP协议在用户驱动的Web浏览器之外的作用,同时增加了需要HTTP支持的应用程序的数量。
设计用于扩展,同时为基本HTTP协议提供强大的支持,构建HTTP感知的客户端和服务器应用程序(如Web浏览器,Web Spider,HTTP代理,Web服务传输库或利用或支持Web服务的系统)的任何人都可能感兴趣的HttpComponents 扩展分布式通信的HTTP协议。
HttpCore 是一组低级HTTP传输组件,可用于以最小的占用空间构建定制的客户端和服务器端HTTP服务。 HttpCore支持两种I/O模型:基于经典的Java I/O和基于Java NIO的非阻塞事件驱动的I/O模型来阻塞I/O模型。
阻塞I/O模型可能更适合数据密集型,低延迟情况,而非阻塞模型可能更适合高延迟情况,其中原始数据吞吐量不如在处理数千个同时HTTP连接 一种资源高效的方式。
HttpClient是基于HttpCore的HTTP/1.1
兼容的HTTP代理实现。 它还为客户端认证,HTTP状态管理和HTTP连接管理提供可重用组件。 HttpComponents Client是Commons HttpClient 3.x的继任者和替代者。 强烈建议Commons HttpClient的用户进行升级。
Asynch HttpClient 是基于HttpCore NIO和HttpClient组件的HTTP/1.1兼容HTTP代理实现。 它是Apache HttpClient的补充模块,适用于处理大量并发连接的能力比原始数据吞吐量性能更重要的特殊情况。