Okhttp 与 Retrofit的简单介绍及两者间的联系

前言
Android为我们提供了两种HTTP交互的方式:HttpURLConnection和Apache HTTP Client( Android 6.0——API 23已经不支持该方式了 ),虽然两者都支持HTTPS,流的上传和下载,配置超时IPv6和连接池,已足够满足我们各种HTTP请求的需求。但更高效的使用HTTP可以让我们的应用运行更快、更节省流量。这就诞生了Okhttp及Retrofit等HTTP库。
Okhttp:
OKHttp是一款高效的HTTP库,支持连接同一地址的链接共享同一个socket,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势。OkHttp存在以下的特点:
① 支持HTTP2/SPDY 
② socket自动选择最好路线,并支持自动重连 
③ 拥有自动维护的socket连接池,减少握手次数 
④ 拥有队列线程池,轻松写并发 
⑤ 拥有Interceptors轻松处理请求与响应(比如透明GZIP压缩,LOGGING) 
⑥ 基于Headers的缓存策略
Retrofit:
Retrofit与okhttp 共同出自于Square公司,retrofit就是对okhttp做了一层封装。把网络请求都交给给了Okhttp,我们只需要通过简单的配置就能使用retrofit来进行网络请求了。Retrofit框架存在的优势:
① Retrofit使用注解方式,大大简化了我们的URL 拼写形式,而且注解含义一目了然,简单易懂;
② Retrofit使用简单,结构层次分明,每一步都能清晰的表达出之所以要使用的寓意;
 Retrofit支持同步和异步执行,使得请求变得异常简单,只要调用enqueue/execute 即可完成;
④ Retrofit更大自由度的支持我们自定义的业务逻辑,如自定义Converters
Retrofit 支持多种文件解析(Gson,Json,XML,Protobuf)
Retrofit 支持RxJava

Okhttp 与 Retrofit的联系:
两者之间的联系就是Retrofit是基于Okhttp的,它底层的所有请求默认走的都是Okhttp。它在Okhttp的基础上进一步封装,使用注解方式让我们使用简单方便且看代码一目了然。Retrofit是基于APP发起请求的封装,也就是面向的是应用层(比如响应数据的处理和错误处理等)。而Okhttp是对底层网络请求的封装与优化(socket优化,数据压缩,buffer缓存等)。
Thanks:

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

紫雾凌寒

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值