浏览器工作原理与实践学习笔记(二)-- 网络请求的核心路径

494 阅读2分钟

笔记说明

浏览器工作原理与实践是李兵【前盛大创新院高级研究员】在极客时间开的一个专栏,透过浏览器看懂前端本质, 笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加入李兵老师的专栏学习。

如何保证一个页面文件能够完整的送达浏览器呢?

  1. IP(网际协议)把数据包送达到目的主机

由于 IP 是最底层的协议,只负责把数据包传送到对方电脑
那么问题来了,接收到数据的目的主机并不知道要把数据包交给那个程序(淘宝? 咸鱼? 唯品会?)

所以 UDP(用户数据包协议) 来喽~

  1. UDP (用户数据包协议)把数据包送达应用程序 -- 传输层

UDP 中重要的信息是端口号, 通过端口号,就可以把数据包发送给相应的应用

UDP 特点

1. 可以检验数据是否正确, 但不提供重发机制
2. 发送之后无法知道是否到达目的地
3. 传输速度快
4. 对于拆分的小数据包,UDP并不知道该如何组装还原成完整的文件

因为UDP不保证数据的可靠性,所以 TCP 来喽 ~

  1. TCP 将数据完整的送达应用 -- 传输层

TCP协议: 面向连接的、可靠的、基于字节流的传输层通讯协议。

 TCP中不仅有端口号,还有用于排序的序列号(将乱序的数据包组合成一个完整的文件)。

TCP 总结:

1.TCP对于数据包的丢失,提供重连机制。
2.包含序列号,对于拆分的小数据包,TCP提供排序机制,组装成完整的文件。
3.TCP中也包含了端口号信息,可以将数据包准确送到具体应用。
  1. 完整的 TCP 连接过程

    经典的三次握手 🤝 四次挥手🙋‍♂️

    1. 连接建立(三次握手):建立TCP连接时,需要客户端和服务端一共发送三个数包确定建立连接。
    2. 传输数据: 接收端需要对发过来的数据进行确认操作并发送确认信息给发送端(若发送端没有接收到确认信息,则视为数据包丢失,判断为丢失后,就会出发重发机制)。
    3. 断开连接。

总结:

  1. IP 负责把数据包送达目的主机。
  2. UDP 负责把数据包送达具体应用。
  3. TCP 不仅会把数据送达具体应用,还负责保证数据的完整性。