lin

返回

1. 关键链路阶段#

  1. URL 解析
    浏览器解析地址(协议、域名、路径、参数等),确认要访问什么资源。

  2. 浏览器预检查
    先检查是否可直接使用本地结果:缓存、Service Worker、HSTS、已有连接复用。

  3. DNS 解析
    把域名(如 example.com)转换成服务器 IP 地址。

  4. 建立连接
    根据协议建立网络通道:TCP + TLS(HTTP/1.1、HTTP/2)或 QUIC(HTTP/3)。

  5. 发送 HTTP 请求
    浏览器发送请求,请求里包含 Headers、Cookie 等信息。

  6. 服务端处理并返回首包
    服务器处理请求并开始返回数据,直到收到首字节(TTFB)。

  7. 流式接收 HTML 并发现子资源
    浏览器边收 HTML 边解析,同时继续请求 CSS、JS、图片、字体等资源。

  8. 构建页面模型并执行脚本
    构建 DOM 和 CSSOM,执行 JS(某些 JS 会阻塞解析和渲染)。

  9. 生成可渲染结构并计算布局
    合成渲染树(Render Tree),做 Layout(计算元素大小和位置)。

  10. 绘制与合成上屏
    先 Paint(绘制像素),再 Composite(图层合成)显示到屏幕,后续继续补齐剩余内容。


2. 专有名词解释#

名词解释
URL网页地址,如 https://example.com/a?b=1
Service Worker网页的本地代理脚本,可拦截请求、做离线缓存
HSTS强制使用 HTTPS 的安全策略,防止降级到不安全 HTTP
DNS域名解析系统,把域名翻译成 IP
IP服务器在网络中的数字地址
TCP可靠传输协议,保证数据按序到达
TLS传输加密层,保证通信安全(HTTPS 基础)
QUIC基于 UDP 的现代传输协议,HTTP/3 使用它
HTTP/1.1、HTTP/2、HTTP/3浏览器与服务器通信协议的不同版本
Headers请求/响应附带的元信息(语言、压缩、缓存策略等)
Cookie浏览器保存的小数据(登录态、会话、偏好)
TTFBTime To First Byte,收到响应首字节的时间
Layout计算每个元素的位置和尺寸(回流)
Paint把文本、颜色、边框等绘制成像素
Composite把多个图层合成为最终画面并显示
FCP首次内容绘制,用户第一次看到内容
LCP最大内容绘制,主内容出现的关键时刻
load页面 load 事件触发,通常表示资源基本加载完成
从输入 URL 到页面渲染完成,关键链路有哪些阶段?
作者 lin
发布于 2025年4月9日

留言

无需登录,留下你的想法。

0
昵称颜色
可见范围