1. 解析 URL,准备发送 HTTP 请求。
  2. 检查本地缓存是否有对应资源,如果有则直接返回;没有则进入下一步网络请求。
  3. DNS 查找域名对应的 IP 地址(按本地浏览器缓存->本地 Host 文件->路由器缓存-> DNS 服务器->根 DNS 服务器的顺序查询域名对应 IP,直到找到为止)。如果使用了 CDN, DNS 解析会通过 CNAME 返回离用户最近的 CDN 节点的 IP 地址,而非源站地址。
  4. TCP 三次握手浏览器与服务器(IP)建立(TCP)建立连接。 HTTPS 协议还要进行 SSL 加密协议握手。
  5. 浏览器构建 HTTP 请求报文发送给服务器。
  6. 服务器处理请求并返回 HTTP 资源,其中包括状态码如404未找到、301重定向等。
  7. 浏览器解析响应并渲染页面。
  8. TCP 四次挥手浏览器与服务器(IP)断开(TCP)连接。