【440、浏览器输入 URL 过程】

39 阅读2分钟

浏览器输入 URL 的过程通常可以概括为以下几个步骤:

  1. DNS 解析:当用户在浏览器中输入 URL 后,浏览器会先尝试将 URL 中的主机名部分解析成对应的 IP 地址,这个过程称为 DNS 解析。如果浏览器中已经有该网站的 IP 地址的缓存记录,则直接使用缓存记录,否则会向本地 DNS 服务器发送 DNS 查询请求,以获取网站的 IP 地址。
  2. 建立 TCP 连接:一旦浏览器获得了目标网站的 IP 地址,它就会使用该地址和目标网站的服务器建立一个 TCP 连接。这个过程涉及到三次握手,即客户端向服务器发送 SYN 报文,服务器接收到后回复 SYN-ACK 报文,最后客户端再发送 ACK 报文,确认连接已经建立。
  3. 发送 HTTP 请求:一旦 TCP 连接建立成功,浏览器就会向服务器发送一个 HTTP 请求。HTTP 请求通常包括请求行(包括请求方法、请求的 URL 和 HTTP 协议版本)、请求头部(包括浏览器信息、Cookie、认证信息等)和请求体(对于 POST 请求而言)等部分。
  4. 接收响应并显示页面:服务器接收到浏览器发送的 HTTP 请求后,会根据请求的内容生成一个 HTTP 响应,包括状态码、响应头部和响应体等。浏览器收到响应后,会根据响应头部中的内容解析并渲染页面。如果响应体中包含 HTML 页面代码,则浏览器会解析这些代码,构建出对应的 DOM 树,然后渲染出页面。如果响应体中包含 JavaScript 代码,则浏览器会解析并执行这些代码,以实现一些动态效果。最后,浏览器会将页面的各个元素组装起来,并在窗口中显示出来。