美文网首页Android技术知识
OkHttp3源码学习综述

OkHttp3源码学习综述

作者: 辰静暮夕 | 来源:发表于2017-05-27 17:13 被阅读0次

    综述

    记录下对OkHttp的源码学习过程,版本号为3.8

    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.

    简单归纳特点为支持连接复用,Gzip压缩和缓存等,所有的这些都是为了减少时延,增强传输性能。

    准备工作

    了解HTTP的一些基本知识,推荐阅读《图解HTTP》或者《HTTP权威指南》

    HTTP协议栈,HTTPS协议栈,TCP/IP协议,WebSocket协议

    URL语法,HTTP报文 (LINE,HEADER,BODY)

    SOCKET编程,TCP性能聚焦(握手延迟,慢启动等)

    代理,缓存,安全,认证。

    下载源码,查看源码

    推荐使用Intellij IDEA查看源码

    阅读优质的研究分享 

    OkHttp源码分析——整体架构

    OkHttp源码分析——拦截器

    OkHttp源码分析——任务队列

    OkHttp源码分析——缓存策略

    OkHttp源码分析——多路复用


    整体框架与流程

    OKHTTP的整体框架大致的可以分为

    Interface——接口层:接受网络访问请求 可以理解为应用层

    Protocol——协议层:处理协议逻辑 可以理解为安全层

    Connection——连接层:管理网络连接,发送新的请求,接收服务器访问 可以理解为会话层

    Cache——缓存层:管理本地缓存

    I/O——I/O层:实际数据读写实现 可以理解为传输层

    Inteceptor——拦截器层:拦截网络访问,插入拦截逻辑

    整体框架 来源OkHttp源码分析——整体架构 事物流程图 来源拆轮子系列:拆 OkHttp https://blog.piasy.com/2016/07/11/Understand-OkHttp/

    相关文章

      网友评论

        本文标题:OkHttp3源码学习综述

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