浏览器
# 浏览器
# 从输入 URL 到浏览器显示页面过程中都发生了什么?
- 浏览器中输入网址 http 或 https
- url 的组成:详解URL的组成 (opens new window)
DNS 解析将域名解析为 IP 地址
检查浏览器是否有缓存
通过
Cache-Control
和Expires
来检查是否命中强缓存,命中则直接取本地磁盘的html(状态码为200 from disk(or memory) cache,内存or磁盘)如果没有命中强缓存,则会向服务器发起请求(先进行下一步的TCP连接),服务器通过
Etag
和Last-Modify
来与服务器确认返回的响应是否被更改(协商缓存),若无更改则返回状态码(304 Not Modified),浏览器取本地缓存若强缓存和协商缓存都没有命中则返回请求结果
与 WEB 服务器建立 TCP 连接(三次握手)
浏览器发送 http 请求
服务器处理请求并返回 http 报文
浏览器解析 html 渲染页面
断开连接 TCP (四次挥手)