从输入url地址到刷新页面经历来什么?最简单的方式告诉你

步骤

  • NDS解析,将域名地址解析为ip地址 (第一步)
    • 浏览器DNS缓存
    • 系统DNS缓存
    • 路由器DNS缓存
    • 网络运营商DNS缓存
    • 递归搜索 如 blog.baidu.com
      • .com 域名下查找DNS解析
      • .baidu
      • blog
      • 出错
  • TCP连接,TCP三次握手 (第二步)
    • 第一次握手,由浏览器发起,告诉服务器我要发送请求了
    • 第二次握手,由服务器发起,告诉浏览器,你赶紧发送
    • 第三次握手,由浏览器发起,告诉服务器,我马上就发了,准备接收了。
  • 发送请求 (第三步)
    • 请求报文:http 协议的通信内容
  • 接收响应 (第四步)
    • 响应报文
  • 渲染页面 (第五步)
    • 遇见html 标记,浏览器调用html解析器解析成token并构建成dom树。
    • 遇见style/link标记,浏览器会调用css解析器,处理css标记并构建cssom树
    • 遇见script标签,会调用script解析器,处理script代码。
    • 将dom树和cssom树合并成渲染树
    • 根据渲染树来计算布局,计算每个节点的几何信息(布局)
    • 将各个节点的颜色绘制到屏幕上(渲染)

注意 这五个步骤,不一定按顺序执行,可能反复执行,或者执行多次布局和渲染,往往在实际页面中,这些步骤会执行多次。

  • 断开连接(Tcp的四次挥手)(第六步)
    • 第一次挥手: 由浏览器发起,告诉服务器,我东西发完来(请求报文),能准备关闭吧。
    • 第二次挥手:由服务器发起,告诉浏览器,我东西接收完来(请求报文),我准备关闭来,你也准备吧。
    • 第三次挥手:由服务器发起,告诉浏览器,我东西发送完来 (响应报文),你准备关闭吧。
    • 第四次挥手:由浏览器发起,告诉服务器,我东西接收完了,我准备关闭来(响应报文),你也准备吧。
posted @ 2019-06-03 16:02  yaogengzhu  阅读(554)  评论(0编辑  收藏  举报