浏览器输入 url 到页面显示的过程

浏览器输入 url 到页面显示的过程

  1. 查找缓存
    1. 浏览器缓存:浏览器会记录 DNS 一段时间
      1. 强缓存:直接从本地副本比对读取,不去请求服务器,返回的状态码是 200。
      2. 协商缓存:会去服务器比对,若没改变才直接读取本地缓存,返回的状态码是 304。
    2. 操作系统缓存:如果浏览器没有这个DNS记录,则会到操作系统缓存中查找
    3. 路由器缓存
    4. ISP缓存
  2. DNS 域名解析
    1. 浏览器向DNS服务器发起请求,解析URL,得到域名对应的IP地址
  3. 建立TCP链接(三次握手)
    1. 浏览器向服务器发送 SYN 报文,请求连接,浏览器进入SYN_SENT 状态
    2. 服务器收到浏览器的 SYN 报文,给浏览器发送一个 SYN+ACK 确认报文,进入 SYN_RECV 状态
    3. 浏览器收到服务器的 SYN+ACK 报文,向服务器发送一个 ACK,发送完毕,连接建立
  4. 发起请求http / https
  5. 服务器响应请求并返回结果
  6. 关闭TCP 链接(四次挥手)
    1. 浏览器发送释放连接报文,浏览器进入 FIN-WAIT-1等待1状态
    2. 服务器收到释放连接报文,发出确认报文,服务器进入 CLOSE-WAIT(等待关闭状态);浏览器收到确认报文,浏览器进入 FIN-WAIT-2 等待2 状态,等待服务器发送释放连接报文
    3. 服务器发送数据完成后,向浏览器发送 释放连接报文,服务器进入LAST-ACK 最后确认状态,等待浏览器的确认
    4. 浏览器收到服务器的连接释放报文,发出确认报文,浏览器进入 TIME-WAIT时间等待状态,此时浏览器的TCP连接还没释放,需要经过 2**MSL(最长报文段寿命)的时间后,才会进入 CLOSED状态;服务器收到确认报文立即进入 CLOSED 状态。
  7. 浏览器对服务器返回的HTML内容进行解析渲染
    1. 构建DOM树
    2. 构建CSSOM树(css规则树)
    3. 合并DOM树和CSSOM树,得到render树
    4. 回流:根据render树得到每个树节点的几何信息
    5. 重绘:遍历render树进行UI渲染
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值