1.首先在浏览器缓存中寻找该页面资源。如果找到了,就返回页面资源。如果没找到,就进行网络请求。
2.在进行网络请求前,先进行DNS的解析,以获取请求域名的IP地址,如果使用的是https协议的话,还需要建立TLS连接。整个解析过程是:先在浏览器缓存中找,找不到就去本地Host文件找,还找不到就到路由器缓存中找,还找不到就到DNS服务器,然后再到根DNS服务器,逐层向上找。从而对域名进行DNS解析。
3.DNS解析得到服务器IP地址,建立TCP连接。
4.浏览器和服务器建立连接之后,浏览器这边构建请求信息,向服务器发起请求。将浏览器中的cookie信息也加入,构建请求行和请求体,发起请求。
5.服务器进行响应,返回响应信息。如果响应状态码是301和302的话,就进行重定向。如果是字节流类型的话,会将请求提交到下载管理器。返回的是页面的话,就进行下一步的页面渲染。
6.页面渲染。浏览器解析html文件,构建DOM树,对CSS样式进行解析,然后将CSS样式和DOM树进行合并,构建渲染树。最后布局和绘制渲染树,完成页面展示。