从地址栏输入URL到页面加载完成,发生了什么?(参考别人的文章后,自己总结的,有写的不妥的,望大家指出)
整个过程大致可以分成以下几个步骤:
1、浏览器查看缓存,如果缓存中有,则直接在屏幕中显示内容;若没有,则执行以下步骤;
2、进行域名(DNS)解析,获取相应的IP地址;(域名解析的过程,实际上是将域名还原为IP地址的过程)
3、浏览器向服务器发起TCP连接,与浏览器建立TCP三次握手;
4、握手成功后,浏览器发送HTTP请求;(HTTP请求主要包括:请求行、请求头、请求正文)
5、服务器接受并处理请求,并返回HTTP响应;
6、浏览器收到HTTP响应后,开始构建页面,解析html源码,对页面进行渲染;
7、生成DOM树,解析CSS样式、js交互;
8、(可选)浏览器发送静态资源请求;
9、(可选)浏览器发送Ajax请求;
10、页面构建完成,关闭连接。(TCP四次挥手)