1.DNS域名解析,把域名地址解析为IP地址
-浏览器DNS缓存
-系统DNS缓存
-路由器DNS缓存
-网络运营商DNS缓存
-递归搜索 www.baidu.com
-.com查找DNS解析
-.baidu查找DNS解析
-.www查找DNS解析
-出错
2.TCP连接:TCP三次握手
-第一次握手,由浏览器发起,告诉服务器我准备发送啦
-第二次握手,由服务器发起,告诉浏览器,你赶紧发送把
-第三次握手,由浏览器发起,告诉服务器,我发送完了,你准备接受吧
3.发送请求
-请求报文:http协议的通信内容
4.接受请求
-响应报文
5.渲染页面
-遇见HTML标记,浏览器调用HTML解析器解析为Token 并构建dom树
-遇见style/link标记,浏览器调用css解析器 处理css并构建cssom树
-遇见script标记,浏览器调用js解析器,处理script代码(绑定事件,修改dom树/cssom树
-将dom树和cssom树合并为一个渲染树
-根据渲染树来计算布局,计算每个节点的几何信息(布局)
-将各个节点颜色绘制到屏幕上(渲染)
注意:这五个步骤不一定先后执行,如果dom树或者cssom树被修改了,可能会执行多次布局和渲染 往往实际中,则几个步骤多次执行
6-断开连接:TCP四次挥手
第一次挥手:浏览器发给服务端,告诉服务端我的信息发完了(请求报文),你准备关闭把
第二次挥手:由服务器发给浏览器,我东西接受完了(请求报文),我准备关闭了,你也准备吧
第三次挥手:由服务器发起,告诉浏览器,我东西发送完了,你准备关闭
第四次挥手:由浏览器发起,告诉服务器,我东西接受完了,准备关闭,你也关闭把