有五大拦截器,分别是重试和重定向拦截器(RetryAndFollowUpInterceptor)、桥接拦截器(BridgeInterceptor)、缓存拦截器(CacheInterceptor)、连接拦截器(ConnectInterceptor)和请求服务器拦截器(CallServerInterceptor)。
重试拦截器在执行到下一个拦截器之前,负责判断用户是否取消了请求;在获得结果之后,会根据响应码判断是否需要重定向,如果满足条件就会启动所有拦截器。
桥接拦截器在执行到下一个拦截器之前,负责将HTTP协议必备的请求头进行加入,并进行一些默认操作,如GZIP压缩;在获得结果后,调用保存cookie接口并解析GZIP数据。
缓存拦截器在执行到下一个拦截器之前,读取并判断是否使用缓存;获得结果后判断是否保存缓存。
连接拦截器在执行到下一个拦截器之前,负责找到或创建一个连接,并获得对应的socket流;在获得结果后不进行额外的处理。
请求服务器拦截器进行真正地与服务器通信,向服务器发送请求,解析读取到的响应数据。