写在前面的话:
==>读书笔记之于我就是一个记录重点和知识线索提纲的作用
==>所以下文并不是通俗易懂的讲解,而是重点和知识线索的记录,
==>如果你想阅读原文,请移步我的github.
请移步我的github
一,总体读书规划
首先是整体的了解,也就是该书的目录
“Chris Lattner 访谈录(下)
译者:@故胤道长,亚马逊 iOS 工程师,曾就职于 Uber。
博客:http://www.jianshu.com/u/8d5b91490ca5
动手玩 LLVM
作者:戴铭,滴滴出行技术专家。最近正在研究 iOS 编译相关底层技术,用来解决工程优化问题。
博客:https://ming1016.github.io/
Swift 性能分析
作者:唐巧,小猿搜题产品技术负责人,6 年 iOS 开发经验,《iOS开发进阶》作者。
博客:http://blog.devtang.com/about/
监控SDK的架构设计
作者:王朝成, @圣迪 , 饿了么移动架构师。耕耘移动基础设施的建设,致力于移动大数据与人工智能的结合
博客:http://www.jianshu.com/u/a774b58c9b89
初识 LLVM
作者:@Alone_Monkey, 网易 iOS 工程师
博客:www.blogfshare.com
TCP / IP 漫游
作者:@mrriddler,蚂蚁金服 iOS 工程师。
博客:blog.mrriddler.com
复用的精妙 - UITableView 复用技术原理分析
作者:冬瓜,微博:@冬瓜争做全栈瓜,爱奇艺 iOS 工程师。
博客:http://www.desgard.com
试图取代 TCP 的 QUIC 协议到底是什么
作者:张星宇,@bestswifter,百度 iOS 工程师,喜欢探索问题的本质,讨厌一切不说人话的描述。正在学习前端,励志成为一名大前端全栈工程师。
博客:https://bestswifter.com/
AFNetworking 源码分析
作者: @涂耀辉 ,今日头条 iOS 工程师
博客:http://www.jianshu.com/u/14431e509ae8
SpriteKit 入门与实践
作者:郭鹏,丁香园资深 iOS 工程师
基于 Rx 的网络层实践
作者:李富强,@李富强Jason,美团外卖 iOS 架构师
博客:http://blog.csdn.net/colorapp
iOS 组件化 —— 路由设计思路分析
作者: @一缕殇流化隐半边冰霜,饿了么 iOS 工程师,微博 @halfrost
博客:http://www.jianshu.com/u/12201cdd5d7a
iOS App 签名的原理
作者:bang,iOS 开发者,JSPatch 作者,做过推特中文圈和一些 iOS 独立应用,曾在腾讯工作,开发 QQ 邮箱与微信读书,现就职于蚂蚁金服。
博客:http://blog.cnbang.net
本书文章由:
@故胤道长、
@一缕殇流化隐半边冰霜、
@没故事的卓同学、
@Onetaway 编辑。
我的读书计划是这样的
从熟悉的到陌生的,逐步接触自己陌生的领域。
1,TCP / IP 漫游
2,AFNetworking 源码分析
3,复用的精妙 - UITableView 复用技术原理分析
4,iOS 组件化 —— 路由设计思路分析
5,监控SDK的架构设计
6,Swift 性能分析
7,iOS App 签名的原理
8,试图取代 TCP 的 QUIC 协议到底是什么
9,初识 LLVM
10,动手玩 LLVM
11,基于 Rx 的网络层实践
12,SpriteKit 入门与实践
一,TCP / IP 漫游
根据数据在不同阶段的不同形式,我们可以把通常意义的网络7层协议或者网络5层协议归纳为4层协议。
Application layer ->HTTP 应用层 “数据的最终形式”
Transport layer ->TCP 传输层 “数据的字节(文本)形式”
Internet layer ->IP 网际层 “数据的二进制形式”
Link layer ->Ethernet 连接层 “数据的信号形式”
数据在发送通过这四层的时候,每经过一层会将数据作为Body,并加上这一层的控制信息作为header。而到达目的地后,再这通过四层时,每层会将相应的header剥离,最后给接收方一个与发送方发送的一模一样的数据。每一层都是通过控制header来控制数据传输的。
HTTP
HTTP协议==>协议字符串解析器。
body就是数据,HTTP将数据的最终形式交由协议使用者来决定(text、xml、json等)
TCP
TCP是个实践性很强的协议,所以包含了很多的知识点。
最基本最重要的特性==>保证信息的可靠传输
==>可靠传输协议要求,双方的报文段(segment)必须都能无损的到达,并且发送方和接收方最后的报文段顺序需要一致。
==>报文段按顺序拼接组成报文。完好无损的报文才表示完整的数据传输完成。
==>报文段需要有序号来标识顺序
==>如果报文段受损或者发送方报文段根本没有到达接收方,发送方需要重传。
==>发送方启动一个计时器,计时器超时前没有收到信息接收方的确认信息,就认为报文没有到达接收方。
==>在发送自己的报文段的时候,顺便确认下所接受的报文段
==>面向连接,三次握手,四次挥手。
这个连接肯定不是建立物理上的连接,而是逻辑上建立了连接。连接也就指的是,发送方和接收方都要初始化一些状态会被用来跟踪(track)发送过程,也就说TCP是个有状态的协议,三次握手和四次挥手后面会聊。”