基础知识
从网络协议分层模型开始
模型图
http://blog.csdn.net/wileyoung/article/details/9627555
可以分七/五/四层,大概知道有哪些协议,分属哪一层。
接下来从网络层向上,了解各个协议在数据传输时的封装
tcp/ip入门介绍(包括拥塞控制)
https://mp.weixin.qq.com/s/33FK5IuGq2da-O1xgS1AKA
ip协议是tcp/ip协议的核心,ip协议属于网络层,相当于门牌号,真正的数据传输协议是tcp或udp,
继而谈到了tcp握手/分手机制,tcp流量控制,拥塞控制等。
那tcp/udp两者的区别优缺
https://blog.csdn.net/xiaobangkuaipao/article/details/76793702
发散:tcp/udp如何互相实现对方?
https://www.zhihu.com/question/20247535
http,ip,tcp,socket区别?
https://www.cnblogs.com/iOS-mt/p/4264675.html
简单来答:
首先ip协议是基础,相当于门牌号码地理位置,属于网络层;
tcp是基于ip协议,解决ip的连接问题,属于传输层;
http协议是,主要解决如何包装数据(如https更加安全的包装数据)属于应用层;
socket只是对tcp/ip协议的封装,并不属于某协议,这里相当于实现了tcp/ip接口的一个类。
https相关内容
入门1
http://blog.jobbole.com/110354/?utm_source=top.jobbole.com&utm_medium=relatedArticles
进阶2
http://wetest.qq.com/lab/view/110.html
https握手过程
https://blog.csdn.net/crazyzxljing0621/article/details/78042285
几个概念
数字签名:用非对称加密算法(私钥) 对 消息摘要 进行加密后的值。用来保证消息的完整性。
数字证书:CA给server A颁布的证书(包括签发者CA,A公钥,Ahash算法,到期时间..),然后对这个证书进行一次数字签名,
就是用CA的私钥,对证书摘要进行加密。数字证书就是为了安全传递A的公钥。
对称DES,AES,非对称RSA,散列(摘要)md5 sha1
Socket
入门介绍
https://juejin.im/post/5b3649d751882552f052703b
心跳解析
https://www.jianshu.com/p/16c8c9e09feb
其他相关概念
Cookie、Session、Token那点事儿
https://mp.weixin.qq.com/s/gABI3wugA-MyP-rB39GeaA
HTTP 返回码详解,经常会要根据某些返回码来做业务处理
https://mp.weixin.qq.com/s/dFuk9XoG86f9mO_AuKZGmQ
结合实际
理解Okhttp,
需要理解责任链处理方式(拦截器和调用链),
理解其同步/异步请求的内部实现(线程池,内部队列的巧妙之处)
内部io
内部缓存机制(304返回码)
拦截器的区别等等
查看
阅读第三方库Okhttp段落
https://www.jianshu.com/p/6fa13048a6cf
百度技术:“App 优化网络,先从优化 DNS 开始” | 原理到实战
https://mp.weixin.qq.com/s/FPLxTPibGuFd3CER08Iy0Q
网络面试题
https://hit-alibaba.github.io/interview/basic/network/HTTP.html
工作里遇到的问题
1.Android HttpDns OkHttp踩坑记录
https://www.jianshu.com/p/a0967bed8756
2.cUrl使用教程
https://my.oschina.net/sunboy2050/blog/1935589