标准java http和 apach httpclient总结
2015-10-14 23:22
190 查看
http除了标准的java接口外,还有apach开源项目也提供了http的api,简称httpclient
这种http的使用更为方便简单,httpclient封装了http的请求、身份验证和连接管理等特性,它主要实现了abstractHttpClient、DefaultHttpClient和AndroidHttpClient
标准的Java http api和httpClient的区别:
1. 标准java的使用原始的api,运行消耗内存小,减少网络使用,运行速度快和节省电池,更适合在移动设备上使用
2. apache项目的httpclient使用方便灵活,而且功能稳定,少有bug;
这种http的使用更为方便简单,httpclient封装了http的请求、身份验证和连接管理等特性,它主要实现了abstractHttpClient、DefaultHttpClient和AndroidHttpClient
[code]androidHttpClient是使用android原生的代码实现的,不能直接创建,只能通过newInstance获取 DefaultHttpClient是使用apache开源项目实现的 android相对于default做了一些改进,使其更适应用android等嵌入式设备,使用方法差不多 1. 关掉了过期检查 2. 可以设置连接超时参数和读取数据超时 3. 关掉了重定向 4. 如果服务器支持可以使用gzip压缩方式传递数据 httpclient客服端连接服务器主要分为以下几个步骤: 1. 创建HttpClient 2. 创建对应的请求 Get -- HttpGet Post -- HttpPost 3. 设置请求参数,Get使用字符串添加到URL后面 POST则需要使用setEntity(HttpEntity)设置参数 4. 执行连接服务器 httpClient.execute(HttpGet/HttpPost) 发送请求,并返回HttpResonse 5. 调用HttpResponse对应的流方法,进行数据的读取或写入
标准的Java http api和httpClient的区别:
1. 标准java的使用原始的api,运行消耗内存小,减少网络使用,运行速度快和节省电池,更适合在移动设备上使用
2. apache项目的httpclient使用方便灵活,而且功能稳定,少有bug;
[code]并且android 2.2以前标准的java http有一个bug,响应输入流inputStream.close()的时候将会阻碍连接池的连接,会出现异常,不过2.3以后就修改了
相关文章推荐
- LinuxMint下Apache Http源码安装过程
- http长连接和短连接-转
- java中网络socket编程简单例子,用于读写字符
- python网络编程实例简析
- HttpURLConnection的总结
- unix网络编程环境
- unix网络编程环境
- VMware主机和虚拟机网络设置
- Netty使用Http上传文件
- Linux 命令 - ping: 向网络主机发送 ICMP ECHO_REQUEST 包
- html <meta http-equiv="refresh" content="0; url=">什么意思?
- 笔试题——一次HTTP访问流程步骤
- android httpclient
- https
- 《UNIX网络编程》读书笔记2---2-5章,套接字断开2,3事
- 面试小结二:关于计算机网络的面试题整理
- 网络协议
- 网络原理,以及虚拟机相关配置
- python从网络时间服务器获取并打印当前时间以及pip安装ntplib的一次体验
- HTTP响应头信息和请求头信息详解