zoukankan      html  css  js  c++  java
  • Http Client 如何选择

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

    一、HttpClient

    优势

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

    劣势

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

    二、HttpURLConnection

    优势

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

    劣势

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

    三、OkHttp

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

    优势

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

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

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

    劣势

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

    彩蛋

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

    • 动态配置超时时间
    • 收集第三方请求日志
    • Prometheus监控
  • 相关阅读:
    c++面试题
    MFC 字符串类CString 源代码
    c++ ofstream & ifstream文件流操作
    理解ip和端口
    求解最长回文字符串
    @Document元注解的使用
    JVM、JRE和JDK的理解
    Java发展历程及各版本新特性
    Maven的安装配置
    认识Java注解
  • 原文地址:https://www.cnblogs.com/kancy/p/13023877.html
Copyright © 2011-2022 走看看