标签:开发人员 机制 sdn 大量 oid 文件上传 软件 并且 混淆
一、HttpClient与HttpURLConnection,URLConnection
HttpURLConnection继承URLConnection,底层socket,最原始通信,使用 HttpURLConnection 发起 HTTP 请求最大的优点是不需要引入额外的依赖。但无法提供额外的功能,如cookie,登录,同时,也缺乏连接池管理、域名机械控制等特性支持。
HttpClient是apache的一个项目,封装了很多底层细节。Apache HttpComponents HttpClient 的前身是 Apache Commons HttpClient, 但是 Apache Commons HttpClient 已经停止开发,如果你还在使用它,请切换到 Apache HttpComponents HttpClient 上来。HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅使客户端发送HTTP请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。
JDK 自带的 HttpURLConnection 标准库; Apache HttpComponents HttpClient, 以及基于该库的 wrapper, 如 Unirest. 非基于 Apache HttpComponents HttpClient, 大量重写应用层代码的 HTTP client 组件库,典型代表是 OkHttp. HttpURLConnectio。
二、OKHttp
由于当前 Apache HttpComponents HttpClient 版本并不支持 HTTP/2, 而 HTTP/2 对于移动客户端而言,无论是从握手延迟、响应延迟,还是资源开销看都有相当吸引力。因此这就给了高层次封装且支持 HTTP/2 的 http client lib 足够的生存空间。其中最典型的要数OkHttp。
OkHttp 接口设计友好,支持 HTTP/2,并且在弱网和无网环境下有自动检测和恢复机制,因此,是当前 Android APP 开发中使用最广泛的 HTTP clilent lib 之一。
另一方面,OkHttp 提供的接口与 Java 9 中 HttpClint 接口比较类似 (严格讲,应该是 Java 9 借鉴了 OkHttp 等开源库的接口设计?),因此,对于喜欢减少依赖,钟情于原生标准库的开发者来说,在 Java 11 中,从 OkHttp 切换到标准库是相对容易的。因此,以 OkHttp 为代表的 http 库以后的使用场景可能会被蚕食一部分。
四、Volley
Volley是google在2013 io大会上推出的网络通信框架,特别适合处理数据量小,通信频繁的网络操作。优点是内部封装了异步线程,可直接在主线程请求网络,并处理返回的结果。同时可以取消请求,容易扩展。缺点是:面对大数据量的请求,比如下载表现糟糕,不支持https。Volley的底层在针对android2.3以下系统使用httpclicent,在android2.3以上采用HttpUrlConnection请求网络。可以参考https://blog.csdn.net/guolin_blog/article/details/17482095
五、Xutils
Xutils是前几年比较火得一个开源框架,Xutils包含了很多实用的工具类,支持大文件上传,且有更全面的http请求协议支持,拥有灵活的Orm,支持事件注解且不受代码混淆影响。Xutils刚问世的时候真是很多屌丝程序猿的福利啊,集成了这么多功能强大的模块,大家果然都爱不释手,但是随着Android版本的升级和人们开发软件思想的转变,Xutils也暴露出了很多问题,现在用Xutils的已经不是特别的多了,如果想使用的话,推荐使用比较新的Xutils3。主要用于android,可以参考https://blog.csdn.net/QPC908694753/article/details/77142124。
六、Retrofit
参考
https://juejin.im/post/5bae03b25188255c5442b66f
https://www.cnblogs.com/sharpest/p/7831350.html
https://blog.csdn.net/langtop/article/details/77972855
https://blog.csdn.net/imlsz/article/details/57616083
https://blog.csdn.net/bigbigsman/article/details/90707669
http网络通信框架解读(HttpClient、HttpURLConnection、OKHttp、Unirest、Volley、Xutils、Retrofit )
标签:开发人员 机制 sdn 大量 oid 文件上传 软件 并且 混淆
原文地址:https://www.cnblogs.com/yuluoxingkong/p/12330707.html