Android-Daily-Interview icon indicating copy to clipboard operation
Android-Daily-Interview copied to clipboard

2019-11-21:谈谈网络请求中的拦截器(Interceptor)?

Open MoJieBlog opened this issue 6 years ago • 6 comments

MoJieBlog avatar Nov 21 '19 01:11 MoJieBlog

以okhttp为例,可以谈谈它内部拦截器的工作原理和应用场景

Moosphan avatar Nov 21 '19 01:11 Moosphan

在OkHttp中 它内部拦截器采用了责任链的模式 如重试拦截器(请求重试)=>请求头拦截器(修改请求头信息)等 在我们View的事件传递机制中也用了责任链的模式 只能讲个泛泛 等待大佬补充

hy20160705 avatar Nov 26 '19 07:11 hy20160705

系统自带的拦截器: 1,重试和重定向 2,请求头+响应头处理 3,缓存 4,dns + 三次握手 5,CallServer,读写数据流

常用的自定义拦截器: 1,日志拦截器 2,自定义缓存规则拦截器 3,重试机制等等

yline avatar Mar 01 '20 15:03 yline

RetryAndFollowUpInterceptor:负责失败重试以及重定向。 BridgeInterceptor:负责把用户构造的请求转换为发送给服务器的请求,把服务器返回的响应转换为对用户友好的响应。 CacheInterceptor:负责读取缓存以及更新缓存。 ConnectInterceptor:负责与服务器建立连接。 CallServerInterceptor:负责从服务器读取响应的数据。

aositeluoke avatar Dec 24 '20 08:12 aositeluoke

okhttp Interceptor拦截器实现请求和响应拦截 采用责任链模式 用于重试 重写拦截请求机制 可应用于请求日志拦截 重写请求头 重写参数 缓存等拦截处理

mlinqirong avatar Dec 30 '21 06:12 mlinqirong