OkHttp原理和机制讲解
本文链接:https://blog.youkuaiyun.com/feather_wch/article/details/131767285
1、OkHttp的原理和机制包括哪些部分?
- 设计模式的运用:建造者模式、外观模式、责任链模式
- 整体流程
- 分发器(调度机制)
- TCP链接复用(复用机制)
- 拦截器流程
- 缓存机制
2、Http 1.1和Http2.0的区别
- 1.1 keep-alive、串行、有序 -> 有序源于基于文本,必须有序
- 2.0 头部压缩(更小),ServerPush(服务器主动Push)、多路复用、并行、源于采用二进制数据帧(存储了顺序标志)
3、OkHttp请求整体流程
flowchart TD
OkHttpClient --newCall 参数Request--> RealCall --execute/enqueue--> Dispatcher --> Intercepter --> Response
4、分发器(调度机制)
- 同步:直接执行拦截器流程
- 异步:提交到线程池中execute
- 调度器内部成员:
- 异步请求同时存在最大数,64
- 异步请求同一个host同时存在的数量,5
- 线程池
- 异步等待队列
- 异步执行队列
- 同步执行队列
- 线程池:core=0,max=65535,waitTime=60s,队列=无容量