TCP协议:如何保证页面文件能被完整送达浏览器

衡量Web页面性能有一个重要指标**FP(first paint),指从页面加载到首次开始绘制的时长。**这个指标直接影响了用户的跳出率、pv、更高的参与度以及更高的转化率。
影响FP的一个重要指标就是网络加载速度
理解网络的关键就是对网络的协议有深刻的认识。
通常的网络通信都是基于

  • TCP/IP
  • UDP/IP
    进行的。
    主机之间都是通过数据包来进行网络通信的,下面将通过一个数据包的“旅程”来讲解一下以上两个概念

IP协议(网际协议)

把数据包送达目的主机

计算机的地址成为ip地址,访问任何网站实际上知识你的计算机向另一台计算机请求信息。
就像送快递,每个主机都有一个ip地址作为门牌号,在数据传输之前,进入网路层,数据包都会携带一个ip头,它包含了一些信息:

  • 目的主机ip
  • 源ip(自己的ip)
  • 版本号
  • 等等
    然后数据包通过物理底层将数据传输给另一台机器的网络层,网络层解析ip头识别出数据部分将解开的数据包交给上层。

在这里插入图片描述

UDP(用户数据包协议)

把数据包送达应用程序。

上层将数据包交给传输层的时候,将udp头携带进入数据包中,携带了具体某个端口的信息。
通过物理传输到目的主机,在传输层取出udp头,解析出端口号,将数据包交给对应的端口应用程序。
但是udp在发送数据时,如果数据包出错,虽然它可以效验对错,但是对于错误的数据包,udp并不提供重发机制,只是丢弃当前包,而且udp在发送之后也无法知道是否能到达目的地。
在这里插入图片描述

TCP(传输控制协议)

把数据完整的送达目的主机。是一种面向连接的、可靠的、基于字节流的传输层通信协议。

使用UDP有两个问题:

  1. 数据包丢失。
  2. 大的数据包拆成小的数据包的排序问题。(大文件会被拆分成很多小的数据包来传输,这些小的数据包会经过不同的路由,并在不同的时间到达接收端,而 UDP 协议并不知道如何组装这些数据包,从而把这些数据包还原成完整的文件。)

与UDP区别:

  • 对于数据包丢失情况,TCP提供重传机制
  • TCP引入了数据包排序机制,用来保证把乱序的数据包组合成一个完整的文件。

一个完整的TCP连接的生命周期包含了“建立连接”“传输数据”和“断开连接”三个阶段

  • 建立连接:tcp三次挥手建立连接
  • 传输数据:接收端需要对每个数据包进行效验,并对效验结果包装到一个数据包中发送给发送端。发送端决定是否重传。
  • 断开连接:四次挥手断开连接。
    在这里插入图片描述
    因为TCP为了保证数据传输的可靠性,牺牲了数据包的传输速度,因为“三次握手”和“数据包效验机制”等把传输过程中发送数据包的数量直接增加了一倍,所以传输速度不如UDP。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值