一、 简介
Okhttp是square公司推出的一款Android和Java网络请求库,当前推出了Okhttp3,在原来的基础上做了很大改进,也是Android目前最流行的网络库之一。https://github.com/square/okhttp ,当前多数著名的开源项目如 Fresco、Glide、 Picasso、 Retrofit都在使用 OkHttp,这足以说明其质量,而且该项目仍处在 不断维护中。
二、特点
OkHttp is an HTTP client that’s efficient by default:
- HTTP/2 support allows all requests to the same host to share a socket.
- Connection pooling reduces request latency (if HTTP/2 isn’t available).
- Transparent GZIP shrinks download sizes.
- Response caching avoids the network completely for repeat requests.
1.支持 SPDY ,共享同一个Socket来处理同一个服务器的所有请求,socket自动选择最好路线,并支持自动重连,拥有自动维护的socket连接池,减少握手次数
2.如果SPDY不可用,则通过连接池来减少请求延时
3.拥有Interceptors轻松处理请求与响应(比如透明GZIP压缩,LOGGING)
4.基于Headers的缓存策略,缓存响应数据来减少重复的网络请求
5.支持websocket
6.多ip切换(连接失败并且服务器有多ip)
三、 一次请求完整流程图
image.png
网友评论