拦截器是OkHttp中提供的一种强大机制,它可以实现网络监听,请求以及响应重写,请求失败重试等功能。拦截器是不区分同步还是异步的,无论同步还是异步请求,都会使用拦截器。我们先看官网的一张图
从架构图中看出,他有两种拦截器,Application拦截器,Network拦截器。其中OkHttp Core是OkHttp给我提供的系统内部的拦截器。在后面的学习中,我们会主要分析这个。下图描述了系统内部提供的拦截器
1.重试和失败重定向拦截器
2.桥接和适配拦截器:补充HTTP请求中缺少的一些请求头
3.缓存拦截器:处理缓存
4.连接拦截器:负责建立可用的连接,是5的基础
5.CallServer拦截器:负责将HTTP请求写入网络的IO流当中,并且从网络流中读取服务端返回客户端的数据