【粗略版本】在浏览器输入地址,按下回车后,发生了哪些事情?

在浏览器输入地址,按下回车后,发生了哪些事情?

  • 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事件