Http Client 如何选择

现在常用的网络请求方式主要有:Apache HttpClient、JDK HttpURLConnection、OKHttp。

1|0一、HttpClient

优势

HttpClient 是Apache的一个三方网络框架,网络请求做了完善的封装,api众多,用起来比较方便,开发快。实现比较稳定,bug比较少。

劣势

正式由于其api众多,使我们很难再不破坏兼容性的情况下对其进行扩展。

2|0二、HttpURLConnection

优势

HttpURLConnection是一个多用途、轻量级的http客户端,由JDK实现,容易的扩展和优化的HttpURLConnection,不依赖第三方库。

劣势

对网络请求的封装没有HttpClient彻底,api比较简单,用起来没有那么方便,而且存在一定的bug。

3|0三、OkHttp

okhttp是专注于提升网络连接效率的http客户端。

优势

  1. 它能实现同一ip和端口的请求重用一个socket,这种方式能大大降低网络连接的时间,和每次请求都建立socket,再断开socket的方式相比,降低了服务器的压力。

  2. okhttp 对http和https都有良好的支持。

  3. 成熟的网络请求解决方案,比HttpURLConnection更好用。

劣势

okhttp请求网络切换回来是在线程里面的,不是在主线程,不能直接刷新UI,需要我们手动处理,比较麻烦。

3|1彩蛋

这里提供一套基于Okhttp3,应用于Spring Cloud微服务中的Http-Client-Plus框架。

  • 动态配置超时时间
  • 收集第三方请求日志
  • Prometheus监控

__EOF__

本文作者゛鱼记忆不止七秒つ
本文链接https://www.cnblogs.com/kancy/p/13023877.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   kancy  阅读(647)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
点击右上角即可分享
微信分享提示