一、HttpClient入门教程简介


本文档基于Apache HttpClient项目的官方教程进行解读,基于HttpClient 4.5.7版本

二、HttpClient入门教程查看链接


http://www.httpclient.cn/cainiao.pdf

此文档会定时更新,敬请注意!

三、HttpClient入门教程官方文档链接

HttpCore 是一套HTTP协议实现包,HttpClient是基于HttpCore的一套客户端工具包,所以下面有两份官方文档。


http://www.httpclient.cn/httpclient-tutorial.pdf

http://www.httpclient.cn/httpcore-tutorial.pdf

四、HttpCore的I/O模式简介

HttpCore 实现了一套HTTP协议的基础组件,为构建客户端/代理/服务器端 HTTP 服务一致的 API。

HttpCore 支持两种I/O模式:BIO和NIO

(1)BIO:阻塞型Blocking I/O,通常由一个独立的Acceptor线程(服务器)负责监听客户端的连接,接收到客户端连接请求之后,为每个客户端创建一个新的线程进行业务处理 处理完成后,通过输出流返回应答给客户端,线程销毁。

(2)NIO:非阻塞型Non-Blocking I/O,分为三种技术实现:

2.1、伪异步I/O模型:

通过线程池管理线程。Client->Server->线程池->分配线程处理请求并返回响应->线程池回收线程。

2.2、NIO模型:

new IO的缩写,buffer缓冲区缓存数据减少等待时间,channel通道读取缓存区数据或向缓冲区写入数据配合buffer使用,selector多路复用器监听注册在其上的channel,收到channel上读或写事件信息,轮询channel,然后通过selectkey调用channel执行任务。

2.3、AIO模型:

通过监听和异步通道(异步文件通道和异步套接字通道)实现异步读写,减少了selector对通道的轮询,是一个事件驱动模型。