浏览器原理

计算机网络的七层模型

  1. 物理层:使用一定的介质(光纤,网线wifi)
  2. 数据链路层:MAC地址 封装 byte
  3. 网络层:IP协议
  4. 传输层:UDP(用户数据包协议)/TCP(传输控制协议) 端口
    1. UDP协议特点:只管发,不管收 eg:DNS,微信电话,流媒体
    2. TCP:重传机制 排序机制—根据数据包的编号对数据进行排序,重组数据包,保证数据包的完整性和准确性
  5. 会话层 断电续传
  6. 表示层 翻译 解决不同系统之间数据传输问题
  7. 应用层: HTTP协议

四层

  1. 物理层—物理层,数据链路层
  2. 网络层
  3. 传输层
  4. 应用层—会话层、表示层、应用层

HTTP的请求流程

浏览器发送HTTP请求的流程

  1. 构造请求行 GET /api/article HTTP/1.1
  2. 查看缓存 有缓存就去缓存 没有就发送网络请求
  3. 准备IP地址和端口号
  4. 等待TCP队列 一个域名最多建立6个TCP连接
  5. 建立TCP连接
  6. 发送HTTP请求

服务器处理HTTP请求

  1. 返回请求内容
  2. 断开连接

从进程的角度讨论

从输入url到浏览器显示页面,这个过程中发生了什么?

浏览器主进程,网络进程,渲染进程

浏览器渲染

DOM解析->CSS解析–>样式计算–>图层树–>绘制–>合并图层

  1. 使用