美文网首页
okhttp(一)

okhttp(一)

作者: 流夕347 | 来源:发表于2019-04-15 03:26 被阅读0次

视频地址:[https://www.bilibili.com/video/av22712332/?p=8]

一、简介(Square公司贡献)

1.支持HTTP2/SPDY黑科技

也支持HTTP1,目前广泛使用的还是HTTP1,HTTP2没有推广起来。

SPDY介绍往下看

2.socket自动选择最好路线,并支持自动重连。

很强大,如果第一个ip地址连接失败,他会自动找到下一个ip地址自动连接,直到找到合适的ip地址,然后才进行通信。

3.拥有自动维护的socket连接池,减少握手次数。

减少创建对象的开销,提高性能

4.拥有队列线程池,轻松写并发。

5.拥有Interceptors(拦截器)轻松处理请求与响应(比如透明GZIP压缩、转换)

拦截器有2种,一个是应用层的,一个是网络层的。

6.基于Headers的缓存策略

二、SPDY(SpeedY)

1.SPDY是什么?

SPDY是Google开发的基于传输控制协议(TCP)的应用层协议,开发组正在推动SPDY成为正式标准(现为互联网草案)。SPDY协议旨在通过压缩、多路复用和优先级缩短页面的加载时间和提高安全性。

2.SPDY和HTTP的关系:

SPDY协议只是在性能上对HTTP进行了很大的优化,核心思想是尽量减少连接个数,对HTTP的语义没有做太大修改。

具体说就是SPDY使用了HTTP的方法和页眉,但是删除了一些头并重写了HTTP中管理连接和数据转移格式的部分,基本上是兼容HTTP的。

SPDY协议的目的是为了加强HTTP,是对HTTP的一个更好的实现和支持。

3.SPDY的优点

3.1 多路复用、请求优化

3.2 支持服务器推送技术

服务器可以主动向客户端发起通信,向客户端推送数据,这种预加载可以使用户一直保持一个快速的网络

3.3 SPDY压缩了HTTP头

舍弃了不必要的头信息,经过压缩过后可以节省多余数据传输所带来的等待时间和带宽。

3.4 强制使用了SSL传输协议

Google认为WEB未来的发展方向必定是安全的网络连接,全部请求SSL加密后,信息传输更加安全。

三、下载地址

官方:http://square.github.io/okhttp/

源码:https://github.com/square/okhttp

四、使用步骤

1.添加jar包,okhttp、okio

2.创建OkHttpClient对象 OkHttpClient client = new OkHttpClient()

3.get、post请求数据

String run(String url) throws IOException {

// RequestBody body = RequestBody.create(MEDIA_TYPE_JSON, params); Request request = new Request.Builder() .url(url).executed();

// .post(body) .build(); Response response = client.newCall(request).execute(); return response.body().string(); }

4.get、post方法调用

相关文章

网友评论

      本文标题:okhttp(一)

      本文链接:https://www.haomeiwen.com/subject/rjqywqtx.html