URL 地址到最终页面渲染完成

(1) DNS 解析:将域名地址解析成 IP 地址

读取浏览器 DNS 缓存

读取系统 DNS 缓存

读取路由器 DNS 缓存

读取网络运营商 DNS 缓存

递归搜索:blog.baidu.com

(2) TCP 连接:TCP 三次握手

第一次握手,由浏览器发起,告诉服务器我要发送请求了

第二次握手,由服务器发起,告诉浏览器我准备好了,你可以发送了

第三次握手,由浏览器发起,告诉服务器,我马上要发送了,准备接受吧

(3) 发送请求

请求报文:HTTP 协议的通信内容

(4) 接受响应

响应报文

(5) 渲染页面

遇见 HTML 标记,浏览器调用 HTML 解析器构成 dom 树

遇见 style/link,浏览器调用 css 解析器构成 cssom 树

遇见 script 标签,浏览器调用 script 解析器,处理 script 代码(绑定事件,修改 dom 树,cssom 树)

将 dom 树和 cssom 树合并成一个渲染树

根据渲染树来进行布局

将各个节点绘制到屏幕上(渲染)

(6) 断开连接:TCP 四次挥手

第一次挥手:浏览器发起,我东西发完了(请求报文),你准备关闭吧

第二次挥手:服务器发起,我东西接受完了(请求报文),我准备关闭了

第三次挥手:服务器发起,我东西发完了(响应报文),你准备关闭吧

第四次挥手:浏览器发起,我东西接受完了(响应报文),我准备关闭了

Last updated

Was this helpful?