HttpComponents

HttpComponents

HttpComponents前身是httpclient项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端/服务器编程工具包,并且它支持 HTTP 协议最新的版本和建议。

HttpComponents支持以下功能,详情见官网: http://hc.apache.org/

实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
支持自动转向
支持 HTTPS 协议
支持代理服务器等
支持Cookie

百科中HttpComponents的介绍如下:

HttPCore
HttPCore(HttpComponents Core)是一组能被用来创建制定化的HTTP客户端和服务器端服务的较低层级HTTP传输组件的集合。HTTPCore支持两种I/O模型:基于经典Java I/O的阻塞I/O模型和基于Java NIO事件驱动的非阻塞I/O模型。
阻塞I/O模型也许更适合于数据集中的低延迟处理情况,相反非阻塞I/O模型也许更适合于那些对处理并发(成千上万)的HTTP请求能力高于对数据吞吐量要求的情况,与处理大量的并发HTTP请求相比,往往在这种情况下处理数据的延迟会比较高。

HttPClient
HttPClient(HttpComponents Client)以HttpCore为基础,是遵从HTTP代理的HTTP/1.1实现。同时提供了可重用的客户端验证、HTTP状态管理、HTTP连接管理组件。

AsyncClient
Asynch HttpClient以HttpCore NIO和HttpClient组件为基础,是遵从HTTP代理的HTTP/1.1实现。它是HttpClient组件的补充模块,主要用于处理大量并发连接数量比数据吞吐量重要的场景。

另几个优秀的开源框架:MINA,NETTY,GRIZZLY等,当然最好先熟悉java.net.*类库

6san.com

发表评论