Okhttp 源码解析

HTTP及okhttp的优势

http结构

请求头

  • 列表内容
  • 表明本次请求的客户端
  • 本次请求的cookie
  • 本次请求希望返回的数据类型
  • 本次请求是否采用数据压缩等等一系列设置

请求体

  • 指定本次请求所使用的方法
  • 请求所使用的方法

响应头

- 服务器标识
- 状态码
- 内容编码
- cookie 返回给客户端

响应体
本次请求所返回的数据
工作流程
1.首先客户端与服务器需要建立连接
2.建立连接后,客户机发送一个请求给服务器
3.服务器街道请求后,给予相应的响应信息
4.客户端接收服务器所返回的信息,连接断开

http的优点

简单快速
灵活
无连接
无状态
SPDY
1. SPDY 是一种HTTP的兼容协议
2.多路复用请求
3.对请求划分优先级
4. 压缩HTTP头

HTTP2.0
基于SPDY,IETF定制的新一代HTTP协议
更安全的SSL

OkHTTP的优势

  • 为我们android客户端支持HTTP2.0提供了途径
  • 由著名的square团队开发
  • 支持SPDY,HTTP2.0 , 共享同一个Socket来处理 同一个服 务器的所有请求
  • 如果SPDY不可用, 则通过连接池来减少请求延时
  • 无缝的支持GZIP来减少数据流量
  • 缓存响应数据来减少重复的网络请求
  • 可以从很多常见的连接问题中自动重连

OkHttp的架构设计

这里写图片描述

OkHttp的主干流程图

这里写图片描述

多路复用原理

这里写图片描述

重连机制

这里写图片描述

类图

这里写图片描述

从类图中可以看出OkHTTPClient 是OkHttp核心类他依赖了其他类的应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值