Apache HttpComponents
Apache HttpComponents™项目负责创建和维护一个专注于HTTP和相关协议的低级Java组件工具集。这个项目在Apache软件基金会下运行,是一个有大量开发者和用户的社区的一部分。
HttpComponents预览
超文本传输协议(HTTP)可能是当今互联网上使用的最重要的协议。网络服务,支持网络的设备以及网络计算的发展继续扩大了HTTP协议在用户驱动的Web浏览器之外的作用,同时增加了需要HTTP支持的应用程序的数量。
HttpComponents结构
HttpComponenets Core
HttpCore是一组低级别的HTTP传输组件,可用于构建自定义客户端和服务器端HTTP服务,占用空间最小。HttpCore支持两种模式:基于传统Java I/O的阻塞I/O和基于Java NIO的事件驱动的I/O模型。
阻塞I/O模式可能适合于数据密集、低延迟的场景,而非阻塞模式可能更适合于高延迟的场景,一种能够处理数千个HTTP同时连接比原始数据的吞吐量更重要的高效的资源管理方式。
- HttpCore向导
- HttpCore示例
HttpComponents Client
HttpClient是一个基于HttpCore的兼容HTTP代理的HTTP/1.1协议的实现。它还提供了客户端认证、HTTP状态管理、HTTP连接管理的的可重用组件。HTTPComponents Client是Commons HttpClient 3.x的继承者和替换者。强烈建议Commons HttpClient的使用者去升级。
- HttpClient向导
- HttpClient示例
- HttpClient安卓端口
HttpComponents AsyncClient
Asynch HttpClient是一个基于HttpCore和HttpClient组件兼容HTTP代理的HTTP/1.1协议的实现。它是Apache HttpClient为了在能够处理大量并发连接比在原始数据吞吐量方面的性能更重要的特殊情况下的补充模块。
- HttpAsyncClient示例
Commons HttpClient(遗留)
Commons HttpClient 3.x 已经过时了,强烈建议Commons HttpClients 3.x的使用者升级到HttpClient 4.1