前端面试:从地址栏输入URL到页面加载完成发生了什么?

整体过程

在这整个过程中,大致可以分为以下几个过程

  • DNS域名解析
  • TCP连接
  • HTTP请求
  • 处理请求返回HTTP响应
  • 页面渲染
  • 关闭连接

简要陈述

DNS域名解析

地址栏输入的域名并不是资源所在的真实位置,域名只是IP地址的一个映射。域名解析的过程实际是将域名还原为IP地址的过程。(DNS域名解析有两种方法,分别是迭代查询和递归查询

TCP连接

在通过第一步的DNS域名解析后,获取到了服务器的IP地址,便会开始建立TCP连接

HTTP请求

与服务器建立连接后,便会发送一个HTTP请求

HTTP响应

服务器在收到浏览器发送的HTTP请求之后,会将收到的HTTP报文封装成HTTP的Request对象,并通过不同的Web服务器进行处理,处理完的结果以HTTP的Response对象返回,主要包括响应首行、响应头、空行、响应体。
响应体为服务器返回给浏览器的信息,主要由HTML,css,js,图片文件组成

页面渲染

DOM树的渲染

关闭连接

在页面元素传输完成后,会选择关闭连接

你可能感兴趣的:(前端面试:从地址栏输入URL到页面加载完成发生了什么?)