《浏览器原理》学习笔记Day1

宏观视角下的浏览器
Chrome 架构

  • 进程与线程
  • 多线程
  • 单进程浏览器

    • 问题1:不稳定
    • 问题2:不流畅
    • 问题3:不安全
  • 多进程浏览器

    • 最新chrome版本架构

      • 浏览器进程
      • 渲染进程(n+)
      • GPU进程
      • 网络进程
      • 插件进程(n+)
    • 问题:

      • 更高的资源占用
      • 更复杂的体系架构
    • 未来面向服务的架构(SOA)
      TCP协议:如何保证页面文件能被完整送达浏览器?
  • FP(First Paint):是指从页面加载到首次开始绘制的时长。网络加载速度直接影响FP指标。
  • IP:计算机的地址,访问任何网站实际上只是你的计算机向另外一台计算机请求信息。

    • 传输过程:

      • 上层将含有“极客时间”的数据包交给网络层;
      • 网络层再将IP头附加到数据包上,组成新的IP数据包,并交给底层;
      • 底层通过物理网络将数据包传输给主机B;
      • 数据包被传输到主机B的网络层,在这里主机B拆开数据包的IP头信息,并将拆开来的数据部分交给上层;
  • UDP:用户数据包协议(User Datagram Protocol),把数据包送达应用程序

    • 传输过程:

      • 上层将含有“极客时间”的数据包交给传输层;
      • 传输层会在数据包前边附加上UDP头,组成新的UDP数据包,再将新的UDP数据包交给网络层;
      • 网络层再将IP头附加到数据包上,组成新的IP数据包,并交给底层;
      • 数据包被传输到主机B的网络层,在这里主机B拆开IP头信息,并将拆开来的数据部分交给传输层;
      • 在传输层,数据包中的UDP头会被拆开,并根据UDP中所提供的端口号,把数据部分交给上层应用程序;
    • UDP传输不能保证数据的可靠性,对于错误的数据包,UDP并不提供重发机制,只是丢弃当前包;但是传输速度却非常快。
  • IP通过IP地址信息把数据包发送给制定的电脑,而UDP通过端口号把数据包分发给正确的程序。
  • TCP:传输控制协议(Transmission Control Protocol),把数据完整的送达应用程序

    • TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。
    • 特点:

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

      • 首先,建立连接阶段。这个阶段是通过“三次握手”来建立客户端和服务器之间的连接。TCP提供面向连接的通信传输。面向连接是指在数据通讯之前先做好两端之间的准备工作。所谓三次握手,是指建立一个TCP连接时,客户端和服务器总共要发送三个三个数据包以确认连接的建立。
      • 其次,传输数据阶段。在该阶段,接收方需要对每个数据包进行确认操作。也就是接收端在接收到数据包之后,需要发送确认数据包给发送端。所以当发送端发送一个数据包之后,在规定的时间内没有收到接收端反馈的确认消息,则判断为数据丢失,并触发发送端的重发机制。同样,一个大的文件在传输过程中会被拆分为很多小的数据包,这些数据包送达到接收端后,接收端会按照TCP头中的序号为其排序,从而保证组成完整饿数据。
      • 最后,断开连接阶段。数据传输完毕后,就要中止连接了,涉及到最后一个阶段“四次挥手”来保证双方都能断开连接。
  • 总结

    • 互联网中的数据是通过数据包来传输的,数据包在传输过程中容易丢失和出错。
    • IP负责把数据包送达目的主机。
    • UDP负责把数据包送达具体应用。
    • 而TCP保证了数据完整地传输,它的连接分为三个阶段:建立连接、传输数据和断开连接。

你可能感兴趣的:(javascript浏览器原理)