【粗略版本】在浏览器输入地址,按下回车后,发生了哪些事情?
在浏览器输入地址,按下回车后,发生了哪些事情?
- 1.浏览器自动补全协议和端口
- 2.浏览器自动完成URL编码
- 3.通过url地址查找本地缓存,如果命中缓存就不发送请求直接使用缓存。
- 4.通过DNS解析(解析域名)找到服务器的IP地址。
- 5.建立通信,浏览器向服务器发出建立TCP连接申请,完成三次握手后建立通信通道。
- 6.如果使用的是HTTPS则还会进行SSL握手,建立加密信道。同时会确定是否使用HTTP2
- 7.附带cookie到请求头中
- 8.浏览器自动设置好请求头、协议版本和cookie,发出请求
- 9.服务器处理请求,后端处理完成后响应HTTP报文给浏览器。
- 10.浏览器根据使用的协议版本,以及Connection字段约定,觉得是否需要保留TCP链接。
- 11.浏览器根据响应状态码觉得如何处理这次响应。
- 12.浏览器根据响应头Content-Type字段响应类型对相应内容进行解析。
- 13.浏览器根据响应头或其他内容完成缓存、cookie的设置。
- 14.浏览器解析HTML-->生成DOM树-->计算样式-->回流-->重绘-->DOM树完成后触发DOMContentLoaded事件-->所有资源加载完成后会触发load事件