从浏览器地址栏输入 URL 到网页显示,这中间发生了什么?
我们分为 7大阶段 + 1个补充(断开连接) 来讲解:
1. URL 解析
浏览器解析用户输入的 URL:
https://www.example.com/index.html
提取出:
- 协议(https)
- 主机名(www.example.com)
- 路径(/index.html)
- 端口(默认443)
2. DNS 解析(域名解析为 IP)
浏览器查找域名对应的 IP 地址:
查找顺序:
- 浏览器缓存
- 操作系统缓存
- hosts 文件
- DNS 服务器(如阿里、Google DNS)
比如:
www.example.com → 93.184.216.34
3. 建立 TCP 连接(三次握手)
使用 IP 和端口建立 TCP 连接:
- 客户端发送 SYN
- 服务器返回 SYN + ACK
- 客户端返回 ACK
这叫做 三次握手,连接建立后,才可以发送数据。