• DNS 解析查找域名的 IP 地址
    • 首先会从本机的 hosts 文件里查找是否有该域名的 IO
    • 如果没有,会递归式地按序去本地 DNS 服务器、根 DNS 服务器、域服务器去依次查询
    • 一旦查找到了,服务器返回 IP 给用户主机,同时缓存下该 IP
  • 建立 TCP 连接
    • 确定主机的端口和主机 IP 后,开始三次握手建立起两台主机代表的 Socket 的 TCP 连接
  • 发送 HTTP 请求
    • 用户主机将指定的 HTTP 请求报文发送给服务器
      • 其中,HTTP 请求报文 = 请求行 + 请求报头 + 请求正文
    • 同时在将请求报文发送给传输层时,可以选择是否进行 HTTPS 传输,若是,则需要进行 SSL 加密
  • 服务器处理并返回 HTTP 响应报文
    • 报文数据通过 Socket 使用 TCP 协议向下封装传送
    • 传送到服务器,将由 Web 服务器进一步封装成 HTTP Requst 对象等,供上层使用
    • 最后通过 HTTP Response 可以操控相应的响应报文通过数据返回
      • 其中,HTTP 响应报文 = 状态码 + 响应报头 + 响应报文
  • 浏览器解析文档渲染画面
    • 浏览器拿到响应报文数据后,就会解析报文,构件 DOM 树与渲染树等,将其绘制到屏幕