2019-11-21:谈谈网络请求中的拦截器(Interceptor)?
MoJieBlog opened this issue · 6 comments
MoJieBlog commented
2019-11-21:谈谈网络请求中的拦截器(Interceptor)?
Moosphan commented
以okhttp为例,可以谈谈它内部拦截器的工作原理和应用场景
hy20160705 commented
在OkHttp中 它内部拦截器采用了责任链的模式 如重试拦截器(请求重试)=>请求头拦截器(修改请求头信息)等 在我们View的事件传递机制中也用了责任链的模式 只能讲个泛泛 等待大佬补充
yline commented
系统自带的拦截器:
1,重试和重定向
2,请求头+响应头处理
3,缓存
4,dns + 三次握手
5,CallServer,读写数据流
常用的自定义拦截器:
1,日志拦截器
2,自定义缓存规则拦截器
3,重试机制等等
aositeluoke commented
RetryAndFollowUpInterceptor:负责失败重试以及重定向。
BridgeInterceptor:负责把用户构造的请求转换为发送给服务器的请求,把服务器返回的响应转换为对用户友好的响应。
CacheInterceptor:负责读取缓存以及更新缓存。
ConnectInterceptor:负责与服务器建立连接。
CallServerInterceptor:负责从服务器读取响应的数据。
mlinqirong commented
okhttp Interceptor拦截器实现请求和响应拦截 采用责任链模式 用于重试 重写拦截请求机制
可应用于请求日志拦截 重写请求头 重写参数 缓存等拦截处理
senlinxuefeng commented