一、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对通道的轮询,是一个事件驱动模型。