在浏览器中输入 URL 到显示主页的完整过程涉及 网络通信、资源加载、渲染引擎协作 等多个环节。以下是详细步骤:
- URL 解析
输入处理:浏览器解析 URL 格式(协议、域名、路径、参数等),若未指定协议(如直接输入 example.com),默认补全为 http:// 或 https://。
安全检查:检查地址合法性(如屏蔽恶意域名)。
- DNS 解析
将域名转换为 IP 地址:
本地缓存查询
浏览器缓存 → 系统 hosts 文件 → 路由器缓存 → ISP(运营商)DNS 缓存。
递归查询
若本地无缓存,向 DNS 服务器发起请求:
浏览器 → 本地 DNS → 根域名服务器 → *域名服务器(如 .com)→ 权威域名服务器。
获取 IP
最终返回域名对应的 IP 地址(如 93.184.216.34)。
- 建立 TCP 连接
通过 三次握手 与目标服务器建立可靠连接:
SYN:客户端发送 SYN 报文(同步序列号)。
SYN-ACK:服务端回复 SYN-ACK 报文(确认客户端序列号 + 同步服务端序列号)。
ACK:客户端发送 ACK 报文(确认服务端序列号)。
- TLS 握手(仅 HTTPS)
若为 HTTPS 协议,需协商加密密钥:
Client H