您的位置:首页 > 理论基础 > 计算机网络

标准java http和 apach httpclient总结

2015-10-14 23:22 190 查看
http除了标准的java接口外,还有apach开源项目也提供了http的api,简称httpclient

这种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以后就修改了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: