关于okhttp在java中的应用

okhttp学习笔记

注:此文仅为个人学习笔记,走过路过前辈们,如果文章有问题还请批评指正,博主本人时刻虚心请教!
参考文章OkHttp3特性艾曼大山https://www.jianshu.com/p/f1ab6182d6fc
(持续更新ing…)

一、android网络框架之OKhttp(Android Studio)

一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso),用于替代HttpUrlConnection和Apache HttpClient(android API23 6.0里已移除HttpClient,现在已经打不出来)

1)功能:

1.联网请求文本数据
2.大文件下载
3.大文件上传
4.请求图片

2)优点:

1.允许连接到同一个主机地址的所有请求,提高请求效率
2.共享Socket,减少对服务器的请求次数
3.通过连接池,减少了请求延迟
4.缓存响应数据来减少重复的网络请求
5.减少了对数据流量的消耗
6.自动处理GZip压缩

当网络出现问题的时候,OkHttp依然坚守自己的职责,它会自动恢复一般的连接问题,如果你的服务有多个IP地址,当第一个IP请求失败时,OkHttp会交替尝试你配置的其他IP,这对于使用IPv4+IPv6托管在冗余数据中心中的服务是必需的,OkHttp使用现代TLS技术(TLS 1.3、ALPN、证书固定)初始化新的连接,当握手失败时会回退到TLS 1.0。(出自):https://blog.csdn.net/baidu_32237719/article/details/100125359

二、Okhttp3

1.支持http2,使得对同一个主机发出的所有请求都可以共享相同的socket套接字连接;
2.使用连接池来复用连接以减少延迟、提高效率;
3.支持Gzip压缩响应体,降低传输内容的大小;
4.支持Http缓存,避免重复请求;
5.请求失败时会自动重试主机中的其他IP地址自动重定向;
6.使用Okio来简化数据的访问与存储,提高性能;
7.使用了创建者设计模式;

三、使用方法

1)GET请求

1.第一步创建OkHttpClient对象
2.如果需要拼接参数 (一般有参数的都会用Post请求,除非参数不重要)
3.第二步创建request对象
4.新建一个Call对象
5.同步请求网络execute()
6.异步请求网络enqueue(Callback)

你可能感兴趣的:(专业技术笔记)