首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Okhttp
中玉
创建于2022-01-19
订阅专栏
Okhttp
暂无订阅
共9篇文章
创建于2022-01-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Okhttp优点总结
但是OkHttp实现了连接池的概念,即对于同一主机的多个请求,其实可以公用一个Socket连接,而不是每次发送完HTTP请求就关闭底层的Socket,这样就实现了连接池的概念。 线程池的线程复用:就是任务在并不只执行创建时指定的firstTask第一任务,还会从任务队列的中自己…
Okhttp 拦截器
拦截器分类 应用程序拦截器 网络拦截器 源码分析 调用流程图 每个拦截器的作用: 参考: 慕课网 OKHttp开源框架学习四:拦截器
okhttp 请求源码解析
同步请求 总结: 创建OkHttpClient和Request对象 将Request封装成Call对象 调用Call的execute()发送同步请求 同步执行流程 第一步,创建一个OkHttpClie
CallServerInterceptor
宏观流程 总结: 写入请求头。 如果请求头的Expect: 100-continue时,只发送请求头。 写入请求体 发送请求 解析响应头, 解析响应体。 返回响应。 源码解析 参考: okhttp源码
ConnectInterceptor
源码解析 总结: 创建HttpCodec 创建RealConnection 参考: OkHttp源码解析6:ConnectInterceptor流程
CacheInterceptor
源码解析 没有缓存和禁止使用网络 直接返回504 有缓存禁止使用网络直接返回缓存 请求网络,如果后台内容没有改变,返回缓存 后台内容改变缓存后台返回的内容,并返回。 Cache.java 通过Disk
RetryAndFollowUpInterceptor
宏观流程 源码解读 总结: 初始化了连接的对象(StreamAllocation,但是比没有真正建立连接,只是初始化了对象)(前置拦截); 通过RealInterceptorChain,再调用下一个拦
BridgeInterceptor
源码 报文头 添加请求头 Cookie管理 Gzip压缩 常见的HTTP报文头属性 Accpet 告诉服务端,客户端接收什么类型的响应 Referer 表示这是请求是从哪个URL进来的,比如想在网上购
OKHTTP连接中三个"核心"
StreamAllocation 属性 构造函数 newStream 先判断StreamAllocation中的连接是否可用,可用直接返回。 根据已知的address在connectionPool里面