浏览器

# 浏览器

# 从输入 URL 到浏览器显示页面过程中都发生了什么?

  1. 浏览器中输入网址 http 或 https
  1. DNS 解析将域名解析为 IP 地址

  2. 检查浏览器是否有缓存

  • 通过 Cache-ControlExpires 来检查是否命中强缓存,命中则直接取本地磁盘的html(状态码为200 from disk(or memory) cache,内存or磁盘)

  • 如果没有命中强缓存,则会向服务器发起请求(先进行下一步的TCP连接),服务器通过 EtagLast-Modify 来与服务器确认返回的响应是否被更改(协商缓存),若无更改则返回状态码(304 Not Modified),浏览器取本地缓存

  • 若强缓存和协商缓存都没有命中则返回请求结果

  1. 与 WEB 服务器建立 TCP 连接(三次握手)

  2. 浏览器发送 http 请求

  3. 服务器处理请求并返回 http 报文

  4. 浏览器解析 html 渲染页面

  5. 断开连接 TCP (四次挥手)

LOSER
米津玄師