1、addInterceptor
- 有无网络都会被调用到。
- 拦截器只会被调用一次,调用chain.proceed()得到的是重定向之后最终的响应信息,
不会通过chain.connection() 获得中间过程的响应信息。 - 允许短路,并且允许不去调用chain.proceed()请求服务器数据,可通过缓存来返回数据。
2、addNetworkInterceptor
- 无网络时不会被调用。
- 可以显示更多的信息,比如OkHttp为了减少数据的传输时间以及传输流量而自动添加的
请求头Accept-Encoding: gzip,从而希望服务器能返回经过压缩过的响应数据。 - chain.connection()返回不为空的Connection对象,可以查询到客户端所连接的服务器的IP地址以及TLS配置信息。