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监控
  • 相关阅读:
    scala list
    scala 数组 基本类型
    oracle 索引 。其中全文检索最变态
    友盟分享(微信分享,微博分享,Facebook分享)
    iOS文字描边
    字符串限制条件
    IOS开发之格式化日期时间
    动态获取Textfield输入的内容
    iOS 微信分享 朋友圈
    iPhone屏幕尺寸、分辨率及适配
  • 原文地址:https://www.cnblogs.com/kancy/p/13023877.html
Copyright © 2011-2022 走看看