-
【整理前人笔记】 多路复用机制:HttpEngine(Http引擎)每次请求数据时,都会先调用nextConnection(),如果返回一个连接对象,则就调用sendRequest()发送一个请求。如果nextConnection()返回为null,就会调用createNextConnection()创建一个连接,然后去发送请求。 重连机制:通过一个while的循环,判断条件是当前状态是否连接,如果没有连接,就会调用getResquese()发送请求,紧接着HttpEngine调用recover(),进行重连操作,直到当前连接状态为已连接,结束循环。 大概流程是这样的: 1.用构造者模式去创建一个请求(Request) okhttp普遍使用构建者模式开发 Request.Builder 2.添加到分发器中(Dispatcher) 3.由分发器分发到httpEngine,如果这个请求在之前有缓存过,那么直接返回缓存的Response,否者创建连接。 (HttpEngine首先调用nextConnection(),获取不到Connection 才会调用createNextConnection()) 4.从连接池中获得一个连接,进行网络请求(...)查看全部
-
- HTTP出现及发展 URL Status Response Code Protocal Method Kept Alive Content-Type Client Address Remote Address 请求头 a.表明本次请求的客户端 b.本次请求所使用的cookie c.本次请求希望返回的数据类型 d.本次请求是否采用数据压缩等一系列设置 请求体 a.指定本次请求所使用的方法 b.主要用来携带本次请求的参数 响应头 a.服务器标识 b.状态码 c.内容编码 d.cookie返回给客户端的cookie等等 响应体 a.主要是本次请求返回的数据 工作流程 a.客户机与服务器需要建立连接 b.建立连接后,客户机发送一个请求给服务器 c.服务器接到请求后,给予相应的响应信息 d.客户端接收服务器所返回的信息,连接断开 - HTTP优势 简单,快速 灵活 无连接 无状态 - HTTP2.0以及SPDY介绍 SPDY是兼容性协议 多路复用请求 对请求划分优先级 压缩请求头 HTTP2.0是基于SPDY,IETF定制的新一代HTTP协议 更安全的SSL - okhttp优势 为Android客户端支持HTTP2.0提供途径,由square团队开发; 支持SPDY,HTTP2.0共享同一个socket来处理同一个服务器的所有请求; 如果SPDY不可用,则通过连接池来减少请求延时; 无缝的支持GZIP来减少数据流量; 缓存响应数据来减少重复的网络请求; 可以从很多常用的连接问题中自动恢复; 使用起来很简单。查看全部
-
求源码查看全部
-
1.http协议结构 (1)请求头 本次请求的客户端(浏览器类型)、 请求所使用的cookie、希望返回的数据类型(json、string)、是否采用数据压缩 (2)请求体 本次请求所使用的方法(get\post)、携带本次请求的参数 (3)响应头 服务器标识、状态码(201,303,404)、内容编码、返回给客户端的编码 (4)响应体 本次请求所返回的数据 2.okhttp优势 (1).支持SPDY,http2.0共享同一个Socket来处理 同一个服务器的所有请求 (2).如果SPDY不可用,则通过连接池来减少请求延时 (3).无缝的支持GZIP来减少数据流量 (4).缓存响应数据来减少重复的网络请求 (5).可以从很多常用的连接问题中自动恢复 (6).使用起来非常简单查看全部
-
多路复用机制查看全部
-
wenjianshangchuan查看全部
-
自动重连机制查看全部
-
多路复用机制查看全部
-
okhttp的文字流程图查看全部
-
大概流程是这样的: 1.用构造者模式去创建一个请求(Request) 2.添加到分发器中(Dispatcher) 3.由分发器分发到httpEngine,如果这个请求在之前有缓存过,那么直接返回缓存的Response,否者创建连接。 4.从连接池中获得一个连接,进行网络请求(...)查看全部
-
看看jjjkh查看全部
-
设计架构查看全部
-
okhttp源码查看全部
-
call 任务类查看全部
-
runOnUiThread是什么查看全部
举报
0/150
提交
取消