基本上,用户常用的就是HttpClient;它基于Http Core部分,但 Core部分太过于 low level,不建议使用,除非有特殊需要。


Apache HttpComponentsTM 项目,负责创建和维护一套专注于HTTP和相关协议的low level的Java components。

HttpComponents结构

HttpComponents Core

HttpCore 是一组low level HTTP传输组件,可被用于build custom client and server side HTTP services。HttpCore支持两种 I/O 模型:基于Java I/O的blocking模型、基于Java NIO的non-blocking & event driven I/O 模型。

blocking I/O模型,可能更适用于data intensive、low latency 场景;non-blocking模型可能更适用于high latency场景 -- 相对来说,这种场景下raw data throughput(吞吐量)的重要性 不如处理数以千计的并发HTTP连接的能力。

HttpComponents Client

HttpClient 是一个基于HttpCore的遵守HTTP/1.1的 HTTP agent实现。它还提供了可复用的components,可用于客户端认证、HTTP 状态管理,以及HTTP连接管理。HttpComponents Client是 Commons HttpClient 3.x 的继任者和替代者。

HttpComponents AsyncClient

Asynch HttpClient 是基于HttpCore NIO 和 HttpClient components的遵守HTTP/1.1协议的HTTP agent实现。它是Apache HttpClient的补充模块,用于特殊情况:处理大量并发连接的能力远比性能(指raw data吞吐量)更重要时的情况。

最新文章

  1. Android Toast cancel和show 不踩中不会知道的坑
  2. echarts基本使用
  3. WinForm窗体PropertyGrid控件的使用
  4. sjtu1333 函数时代
  5. block_dump观察Linux IO写入的具体文件(mysqld)
  6. bzoj1233
  7. SQL server根据值搜表名和字段
  8. C/C++中字符串的输入问题
  9. 基于visual Studio2013解决C语言竞赛题之0613递归求积
  10. kali2.0 + LAMP
  11. JavaScript 扫描枪使用(一)
  12. JVM内存问题分析
  13. javascript高级程序设计第3版——第1Java章 DOM扩展
  14. admin-7
  15. 2019年第一天——使用Visual Studio 2019 Preview创建第一个ASP.Net Core3.0的App
  16. Angular4
  17. postman接口自动化,环境变量的用法详解(附postman常用的方法)
  18. java加密工具类,可设置对应的加解密key
  19. kubeadm安装kubernetes V1.11.1 集群
  20. (原创)Callable、FutureTask中阻塞超时返回的坑点

热门文章

  1. 解决svchost占用内存过高问题
  2. Unix lrzsz命令 上传本地文件到服务器 / 发送文件到客户端
  3. 项目打成jar包
  4. javascript linkedlist data structures
  5. HDU 1260 Tickets (动规)
  6. CentOS的字符集locale的设置
  7. PHP二维数组如何根据某个字段排序
  8. 如何在 block 中修改外部变量
  9. linux 日志定时轮询流程详解(logrotate)
  10. 启用div作为编辑器 添加contentEditalbe = “true”,如何让在Html中特殊字符不被转义