基本上,用户常用的就是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吞吐量)更重要时的情况。

Apache HttpComponents 学习的更多相关文章

  1. Apache HttpComponents Client 4.0快速入门/升级-2.POST方法访问网页

    Apache HttpComponents Client 4.0已经发布多时,httpclient项目从commons子项目挪到了HttpComponents子项目下,httpclient3.1和 h ...

  2. org.apache.httpcomponents httpclient 发起HTTP JSON请求

    1. pom.xml <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactI ...

  3. JAVA中使用Apache HttpComponents Client的进行GET/POST请求使用案例

    一.简述需求 平时我们需要在JAVA中进行GET.POST.PUT.DELETE等请求时,使用第三方jar包会比较简单.常用的工具包有: 1.https://github.com/kevinsawic ...

  4. Apache HttpComponents中的cookie匹配策略

    Apache HttpComponents中的cookie匹配策略 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre. ...

  5. Apache Flink学习笔记

    Apache Flink学习笔记 简介 大数据的计算引擎分为4代 第一代:Hadoop承载的MapReduce.它将计算分为两个阶段,分别为Map和Reduce.对于上层应用来说,就要想办法去拆分算法 ...

  6. Apache Shiro学习-2-Apache Shiro Web Support

     Apache Shiro Web Support  1. 配置 将 Shiro 整合到 Web 应用中的最简单方式是在 web.xml 的 Servlet ContextListener 和 Fil ...

  7. httpclient工具使用(org.apache.httpcomponents.httpclient)

    httpclient工具使用(org.apache.httpcomponents.httpclient) 引入依赖 <dependency> <groupId>org.apac ...

  8. commons-httpclient和org.apache.httpcomponents的区别

    <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpc ...

  9. Apache HttpComponents 工具类 [ HttpUtil ]

    pom.xml <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId&g ...

随机推荐

  1. SqlServer 获取汉字的拼音首字母

    一.该函数传入字符串,返回数据为:如果为汉字字符,返回该字符的首字母,如果为非汉字字符,则返回本身.二.用到的知识点:汉字对应的UNICODE值,汉字的排序规则.三.数据库函数: CREATE FUN ...

  2. mysql服务器无法连接10055错误解决示例

        windows服务器下,mysql运行一段时间之后忽然无法连接,但是mysql服务启动正常,连接时报错: can't connect to mysql server on 'localhost ...

  3. 解决maven构建webapp index.jsp报错问题

    今天早上想用maven 构建一个webapp 然后index.jsp华华丽丽的报错了  当时我的心情是一万头草泥马奔过啊,为啥你给我创建的webapp 还会报错啊!!!!!! 然后百度了一下,各种说少 ...

  4. angularJS核心原理

    一.angularJS优点和缺点 优点 1.1免去重复劳动-获取元素.给元素加事件.创建元素 1.2接管UI:angularJS根据数据创建UI元素,免去手工创建UI元素. 1.3自动同步:根据数据个 ...

  5. UVA - 11609 Teams (排列组合数公式)

    In a galaxy far far awaythere is an ancient game played among the planets. The specialty of the game ...

  6. 百度Android在线语音识别SDK用法

    百度Android语音识别SDK分在线与离线两种,这篇文章介绍在线SDK的用法. 在线SDK是以JAR包和动态链接库形式公布和使用,能够从百度开放云平台站点中下载SDK及使用说明文档. title=d ...

  7. JAVA ,JVM 调试

    https://blogs.oracle.com/poonam/entry/analysis_of_strange_hotspot_crashes https://blogs.oracle.com/p ...

  8. C# JAVAMemory model

    http://www.cl.cam.ac.uk/~pes20/weakmemory/index.html http://preshing.com/20120913/acquire-and-releas ...

  9. tar压缩解压缩命令详解

    tar命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用 ...

  10. gulp的使用以及Gulp新手入门教程

    Gulp新手入门教程 原文  http://w3ctrain.com/2015/12/22/gulp-for-beginners/ Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭 ...