1.DNS解析,将域名地址解析为jp地址
·浏览器DNS缓存
·系统DNS缓存
·路由器DNS缓存
·运营商DNS缓存
·再找不到就递归搜索该网址
2.如果找到了,就会TCP连接:TCP三次握手
·第一次握手,由浏览器发起,告诉服务器,我要发送请求了
·第二次握手,由服务器发起,告诉浏览器我准备接受了,你发送吧
·第三次握手,由浏览器发送,告诉服务器,我马上发送了,准备接受吧
3.发送请求报文
发送HTTP协议的通信内容,即请求报
4.接受响应
·响应报文
5.渲染页面
·遇见HTML标记,浏览器调用HTML解析器解析成token,并构建成dom树,
·遇见 style/link标记,浏览器调用css解析器
·遇见 script标记,调用 javascript解析器,处理script代码(绑定时间,修改dom树/ css dom树)
·根据渲染树计算布局,计算每个节点的几何信息(布局)
·将各个节点颜色绘制到屏幕上(渲染)
注意:
这5个步骤不一定按照顺序执行,如果dom树或cssdom树被修改了,可能会执行多次布局和渲染往往实际页面中,这些步骤都会执行多次。
6.断开连接:TCP的四次挥手
·第一次挥手,浏览器发起,发送给服务器,我东西发送完了(请求报文),你准备关闭吧
·第二次挥手,服务器发起,告诉浏览器,我东西接收完了(请求报文),我准备关闭了,你也准备吧
·第三次挥手,服务器发起,告诉浏览器,我东西发送完了(响应报文),你准备关闭吧
·第四次挥手,浏览器发起,告诉服务器,我东西接收完了,我准备关闭了,你也准备吧