okhttp发送一个请求的流程
okhttp发送请求的流程图主要是经过各种拦截器,最后经过各个拦截器返回以结果。
这里提示的是拦截器不要字面理解就是拦截了,这里的拦截器是拦截下来自己做处理,处理完毕以后交给下一个,最后经过所有拦截器的处理返回,其实可以简单理解为每一道工序,但不同的是这里可能不需要经过所有拦截器就返回了,比如有缓存的话,就不需要去请求了,走到缓存拦截器这里就可以返回了。
下面就是请求的流程,一些重要的代码也有,可以对照去看一下 可以看出来其实一个请求进行经过了各种拦截器,最后返回了,这也是okhttp的责任链模式的特色,我们还可以插入自己自定义的一些拦截器做进一步处理。
拦截器
okhttp提供了几种基础的拦截器,比如 retryAndFollowUpInterceptor 重试拦截器 BridgeInterceptor 基础拦截器 CacheInterceptor 缓存拦截器 ConnectInterceptor 连接拦截器 CallServerInterceptor 发送请求拦截器
责任链模式可以参照上面图上的代码解释进行理解
主要来说这里的拦截器的调用不是通过外面的循环来实现,而是通过每个拦截器来通用下一个拦截器,一层一层的传递
