如何保证页面文件能被完整地送达浏览器?🛫
前瞻
在网络中,一个文件通常会被拆分为很多数据包来进行传输,而数据包在传输过程中可能会出现丢失或者出错的情况。
那么如何保证页面文件能被完整地送达浏览器呢?
使用
什么是FP?
更快的页面响应意味着更多的PV(Page View)、更高的参与度,以及更高的转化率。
那么,什么又影响FP指标呢?
- 其中一个重要的因素是:
通过优化网络加载速度,降低了FP指标,进而提升Web页面性能。
数据包如何被完整地送达到应用程序?
我们都知道,。
而:
👇
👇
IP
数据包在互联网上进行传输时,就要符合网际协议标准,同时,互联网上不同的在线设备都有唯一的地址。
如果想要把一个数据包从主机A发送到主机B,那么在传输之前,数据包上会被附加上主机B的IP地址信息,这样在传输的过程中才能正确地寻找到主机B。另外,数据包上也会有主机A本身的IP地址信息,有了这些信息,主机B才会向主机A进行回复。这些信息会被装进IP头,而
传输的过程:
- 上层将数据包传输给网络层
- ,并传递给下一层
- 底层通过网络再将数据包传递给主机B
- 数据包被传输到主机B的网络层,这时主机B拆开数据包的IP头信息,解析出数据部分并传输给上层
- 最终,数据包到达了主机B的上层
UDP
IP协议是非常底层的协议,只负责将数据包传输到对方主机,而对方主机并不知道将数据包交给哪个程序。因此,需要能和应用程序进行对话的协议,最常见的就是UDP协议了。
UDP协议中,有一个最重要的信息是端口号,每个想访问网络的程序都需要绑定一个端口号。通过端口号,UDP就能把指定的数据包发送给指定的应用程序了。所以,。同样,端口号会被装进UDP头里面,UDP头再和原始的数据包进行合并组成新的UDP数据包。UDP头中除了目标端口,还有源端口号等信息。
传输的过程:
- 上层将数据包传输给传输层
- 数据包被传输到主机B的网络层,在这里主机B拆开IP头信息,并将拆开来的数据部分交给传输层
- 在主机B的传输层中,数据包的UDP头会被拆开,并根据UDP头中所提供的端口号,将数据部分传递给指定的应用程序
- 最终,数据包被传送到了主机B的应用程序中
在使用UDP协议发送数据时,可能会出现各种因素导致的错误,进而导致数据包发送失败。虽然UDP可以校验数据是否正确,但。
虽然UDP协议不能保证数据可靠性,但是其,因此,UDP协议会应用在一些注重传输速度、但对数据完整性要求不严格的场景,如在线视频等。
TCP
- TCP协议是一种的
在使用UDP协议进行传输数据时,会存在两个问题:
- 数据包在传输过程中容易丢失
- 在大文件会被拆分成很多小的数据包来传输时,这些小的数据包会经过不同的路由,到达接收端的时间也各不相同,并且UDP协议并不知道如何封装这些数据包,然后把这些数据包还原成原来完整的文件。
相对于UDP协议,TCP协议具有以下特点:
和UDP头一样,。
:
- 建立连接阶段
- 该阶段,TCP是一种面向连接的传输层协议,所谓的。所谓的。
- 传输数据阶段
- 该阶段,,也就是。所以。
- 同样,。
- 断开连接阶段
- 数据传输完毕后,就要断开连接了。而在最后,需要。
- 浏览整个生命周期,可以看出:。
总结
- 互联网中的数据都是通过数据包来传输的,而数据包在传输过程中容易丢失或出错
- IP负责将数据包发送到目标主机
- UDP负责将数据包发送到具体的目标应用程序
- TCP负责保证传输数据的完整性,其连接的生命周期可分为三个阶段:建立连接、传输数据、断开连接