一、DNS解析:将域名地址解析为IP地址javascript
-浏览器DNS缓存css
-系统DNS缓存java
-路由器DNS缓存浏览器
-网络运营商DNS缓存缓存
-递归搜索:blog.baidu.com服务器
-.com于明霞查找DNS解析网络
-.baidu于明霞查找DNS解析dom
-blog于明霞查找DNS解析布局
-再找不到就出错了blog
二、TCP链接(和服务器创建链接):TCP三次握手
-第一次,由浏览器发起,告诉服务器我要发送请求了!
-第二次,由服务器发起,告诉浏览器我准备接收了,你赶忙发吧
-第三次,由浏览器发送,告诉服务器,我立刻就发了,准备接受吧
三、发送请求
-请求报文:HTTP协议的通讯内容
四、接收相应
-响应报文
五、渲染页面
-碰见HTML标记,浏览器调用HTML解析器解析成Token并构建成dom树
-碰见style/link标记,浏览器调用gcss解析器,处理css标记并构建cssom树
-碰见script标记,调用javascript解析器,处理script代码(绑定事件,修改dom树,cssom树)
-将dom树和cssom树合并成一个渲染树
-根据渲染树来计算布局,计算每隔节点的集合信息(布局)
-将每一个节点颜色会知道屏幕上(渲染)
注意:
这五个步骤不必定按照顺序执行,若是dom树或cssom树都修改了(请求报文),可能会执行屡次布局和渲染
每每实际页面中,这些步骤都会执行屡次的。
六、断开链接:TCP四次挥手
-第一次挥手:由浏览器发起的,发送给服务器,我东西发送完了(请求报文),你准备关闭吧
-第二次挥手:由服务器发起的,告诉浏览器,我东西接受完了(请求报文),我准备关闭了,你也准备吧
-第三次挥手:由服务器发起,高速浏览器,我东西发送完了(响应报文),你准备关闭吧
-第四次挥手:由浏览器发起,告诉服务器,我东西接受完了,我准备关闭了(响应报文),你也准备关闭吧。