一、DNS解析
就是将域名解析成IP地址(优先走缓存)
- 浏览器缓存
- 本机缓存
- 路由器缓存
- 运营商缓存(移动联通电信等)
- 递归查询(世界上仅有的13台根DNS服务器)
二、TCP(协议)连接的三次握手
- 浏览器发送给服务器
- 服务器收到数据, 确认可以收到,并发送数据
- 浏览器收到服务器返回信息,并发送数据
相当于打电话
- 浏览器:喂,能听到吗
- 服务器:能听到,什么事
- 浏览器:接着说事情
三、发送请求(请求报文)
四、得到响应(响应报文)
五、浏览器解析html,开始渲染页面
- 预解析,发送请求,加载所有的外部资源
- 解析html,生成dom树
- 解析css,生成css树
- 合并成一个render树
- js是否操作了dom或者css样式
- 展示页面
六、断开TCP连接,四次挥手
确保数据的完整性
- 第一次挥手:浏览器发给服务器,我接收完了,可以断开了
- 第二次挥手:服务器发给浏览器,我还没接收完,等一下 / 接收完了,验证数据完整性
- 第三次挥手:服务器发给浏览器,我接收完了,你断开吧
- 第四次挥手:浏览器发给服务器,断开连接