【HttpClient4.5中文教程】【第一章 :基础】1.2 HttpClient接口
2015-08-03 09:53
751 查看
更多HttpClient4.5中文教程请查看目录:点击打开链接
===================================================
HttpClient实现作为特殊目的的处理器或策略接口的门面,负责处理HTTP协议特定的方面,比如重定向处理,认证处理,为连接持久化做决定或者保持持续连接。这使得用户使用自定义的、应用程序特定方面的实现来取代那些默认的实现。
【译者:下面例子使用内部类演示了自定义持续连接的实现】
【译者:这里只是简单演示,后文将会对HttpClient自定义设置做出详细介绍】
【译者:也就是说,一组相关的请求由同一个HttpClient实例实现】
====================总结(非翻译)===================
===================================================
1.2.HttpClient接口
HttpClient代表HTTP请求执行的最基本约定。它没有强加限制或具体细节给请求执行过程,它保留了连接管理,状态管理,认证,重定向等处理细节的个人实现。使用额外的功能来装饰这个接口是非常容易的,比如设置响应体缓存。HttpClient实现作为特殊目的的处理器或策略接口的门面,负责处理HTTP协议特定的方面,比如重定向处理,认证处理,为连接持久化做决定或者保持持续连接。这使得用户使用自定义的、应用程序特定方面的实现来取代那些默认的实现。
【译者:下面例子使用内部类演示了自定义持续连接的实现】
【译者:这里只是简单演示,后文将会对HttpClient自定义设置做出详细介绍】
ConnectionKeepAliveStrategy keepAliveStrat = new DefaultConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response,HttpContext context) { long keepAlive = super.getKeepAliveDuration(response, context); if (keepAlive == -1) { // 如果keep-alive的值内有被服务器明确设置,保持持续连接5秒 keepAlive = 5000; } return keepAlive; } }; CloseableHttpClient httpclient = HttpClients.custom().setKeepAliveStrategy(keepAliveStrat) .build();
1.2.1.HttpClient线程安全
HttpClient实现是线程安全的。对于不同的请求执行,这个类的相同实例是可复用的。【译者:也就是说,一组相关的请求由同一个HttpClient实例实现】
1.2.2.HttpClient资源分配
当一个HttpClient实例不再需要时并且它不在连接管理器之内时,必须通过CloseableHttpClient#close()方法关闭。CloseableHttpClient httpclient = HttpClients.createDefault(); try { <...> } finally { httpclient.close(); }
====================总结(非翻译)===================
相关文章推荐
- IOS网络编程要学习的框架
- 一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS
- 如何利用http协议发布博客园博文评论
- HTTPClient模块的HttpGet和HttpPost
- 黑马程序员——网络编程
- Android 网络视图控件 GridView的实现
- HTTP中header的信息讲解以及设置
- tcp ip协议笔记(3)——网络层
- 第三周第四天(【客户端服务器通信】【网络连接InetAddress类】)
- citrix API 调用案例
- Ntop监控网络流量
- Ntop监控网络流量
- mrtg监控网络流量简单配置
- mrtg监控网络流量简单配置
- 删除资源管理器左侧窗口收藏夹、库、家庭组和网络
- 如何利用http协议发布博客园博文评论
- 初识HTTP协议
- 网络编程中的Socket详解---Socket重要参数详解
- httpModules 与 httpHandlers
- HTTP长连接和短连接(转)