用户在浏览器搜索输入url,并且按下回车键后,基本可以分为六大步骤。
一、DNS解析
1.将域名地址解析为ip地址
2.浏览器DNS解析
3.系统DNS解析
4.路由器DNS解析
5.运营商DNS解析
5.递归搜索
(1).com域名下查找DNS解析
(2).baidu域名下查找DNS解析
(3).www域名下查找DNS解析
7.以上都找不到DNS解析就出错了,404。。。
二、TCP连接三次握手
1.第一次握手:由浏览器发起,告诉服务器我要发生请求了
2.第二次握手:由服务器发起,告诉浏览器我准备好了,你可以发生了
3.第三次握手:由浏览器发起,告诉服务器我马上发生了,你准备接收吧
三、发生请求
1.发生请求报文,http协议的通讯之类的内容
四、接收响应
1.响应报文
五、渲染页面
1.遇见html标记,浏览器就会调用html解析器解析成token并构成dom树
2.遇见style/link标记,浏览器就会调用css解析器,处理css并构成cssom树
3.遇见script标记,浏览器就会调用script解析器,处理script代码(包含点击事件,修改dom树/css树等)
4.将dom树和css树合并成一个渲染树
5.根据渲染树来计算布局,计算每个节点的几何信息(布局)
6.将各个节点颜色绘制到屏幕,即是渲染页面
注意:1-5的步骤不可能是按照顺序依次执行的,dom树和css树被修改了,可能会执行多次布局金和渲染,往往实际页面中,这些步骤都是执行多次的
六、TCP断开连接四次挥手
1.第一次挥手:由浏览器发起,告知服务器我的报文发送完毕,可以断开了
2.第二次挥手:由服务器发起,告知浏览器我的报文接收完毕,我准备断开了
3.第三次挥手:由服务器发起,告知浏览器我的响应发送完毕,你准备关闭了
4.第四次挥手:由浏览器发起,告知服务器我的响应接收完毕,你可以关闭了