地址栏输入 URL 并敲下回车后发生了什么

20 阅读1分钟

从输入 URL 到页面展示的全过程:

1. URL 解析

  • 检查格式是否合法(是否带协议、域名等)
  • 判断是搜索关键词还是完整网址(有时会跳转到搜索引擎)

2. DNS 查询

  • 将域名解析为 IP 地址
  • 使用本地缓存、操作系统缓存、本地域名服务器多层级查找
  • 找不到就递归查询 DNS 服务器
    DNS协议介绍

3. TCP 连接

  • 通过三次握手建立可靠的数据传输连接
  • 通过四次挥手保证数据完整传输后再断开连接
  • 若是 HTTPS,还需进行 TLS/SSL 握手(包括证书验证和密钥协商)
    TCP 协议介绍

4. HTTP 请求

  • 浏览器构造并发送 HTTP 请求,内容包括:
    • 请求 URL 路径
    • 请求方法(如 GET/POST/PUT/DELETE)
    • 请求头(headers)和可能的请求体(body)

5. 服务器接收请求返回响应

  • 服务器接收请求,处理后返回响应(如 HTML 文档)
  • 响应包括:
    • 状态码(200、301、404 等)
    • 响应头(如 Content-Type)
    • 响应体(HTML 内容)

6. 浏览器接收响应

  • 浏览器网络线程接收到响应后,将其交给渲染主线程处理

7. 页面渲染

渲染流程介绍

  1. 解析 HTML → 构建DOM树(得到页面结构信息)
  2. 解析CSS → 构建CSSOM树(得到节点样式规则)
  3. 合并DOM与CSSOM → 生成Render渲染树(计算节点最终样式)
  4. 布局 → 生成布局树(计算节点几何信息)
  5. 绘制 → 进行栅格化(转化为屏幕像素)
  6. 合成 → 显示到屏幕