|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不二如是 于 2020-2-7 21:34 编辑
上一讲介绍完 Chrome 的多线程架构。
本讲开始浏览器中常用到的协议部分。
在衡量 Web 页面性能的时候有一个重要的指标叫 FP(First Paint),是指:
这个指标直接影响了用户的跳出率,更快的页面响应意味着更多的 PV(page view,页面浏览量,或点击量)、更高的参与度,以及更高的转化率。
那什么影响 FP 指标呢?
其中一个重要的因素是网络加载速度。
要想优化 Web 页面的加载速度,你需要对网络有充分的了解。
而理解网络的关键是要对网络协议有深刻的认识,不管你是使用 HTTP,还是使用 WebSocket,它们都是基于 TCP/IP 的~
如果你对这些原理有足够了解,也就清楚如何去优化 Web 性能,或者能更轻松地定位 Web 问题了。
在网络中,一个文件通常会被拆分为很多数据包来进行传输,而数据包在传输过程中又有很大概率丢失或者出错。
那么如何保证页面文件能被完整地送达浏览器呢?
IP:把数据包送达目的主机
数据包要在互联网上进行传输,就要符合网际协议(Internet Protocol,简称 IP)标准。
互联网上不同的在线设备都有唯一的地址,地址只是一个数字。
这和大部分家庭收件地址类似,你只需要知道一个家庭的具体地址,就可以往这个地址发送快递。
这样物流系统就能把物品送到目的地。
计算机的地址就称为 IP 地址。
访问任何网站实际上只是你的计算机向另外一台计算机请求信息。
如果要想把一个数据包从主机 A 发送给主机 B 。
那么在传输之前,数据包上会被附加上主机 B 的 IP 地址信息,这样在传输过程中才能正确寻址。
额外地,数据包上还会附加上主机 A 本身的 IP 地址,有了这些信息主机 B 才可以回复信息给主机 A 。
这些附加的信息会被装进一个叫 IP 头的数据结构里。
IP 头是 IP 数据包开头的信息,包含 IP 版本、源 IP 地址、目标 IP 地址、生存时间等信息。
IP 头不是本文重点,如果需要详细了解,请自行搜索
为了方便理解,我先把网络简化分为三层结构,如下图:
一起来看下一个数据包从主机 A 到主机 B 的旅程:
- 上层将含有“鱼C论坛”的数据包交给网络层
- 网络层再将 IP 头附加到数据包上,组成新的 IP 数据包,并交给底层
- 底层通过物理网络将数据包传输给主机 B
- 数据包被传输到主机 B 的网络层,在这里主机 B 拆开数据包的 IP 头信息,并将拆开来的数据部分交给上层
- 含有“鱼C论坛”信息的数据包就到达了主机 B 的上层了
下一讲我们来介绍 UDP 是如何把数据包送到应用程序滴。
如果有收获,别忘了评分 :
如果想看更多,请订阅 淘专辑( 传送门)( 不喜欢更要订阅 ) |
|