← [ BACK_TO_NOTES ]

首字节时间 TTFB

TTFB 表示浏览器发出请求后到收到服务器返回第一个字节所花的时间,主要反映网络往返、服务端处理和网关回源延迟。

#concept #growing #frontend #browser #web-vitals

[!info] related notes

首字节时间 TTFB

一句话定义

TTFB 是浏览器发出请求后,到收到服务器返回第一个字节之间花了多久。

它不是“内容下载完用了多久”,而是“服务器什么时候开始回你”。

核心内容

一次请求可以粗略拆成哪些阶段

一个请求通常会经历:

  1. 浏览器准备发送
  2. DNS 解析
  3. TCP / TLS 建连
  4. 请求发出去
  5. 等服务器开始响应
  6. 下载响应内容

TTFB 最关注的是第 5 段,但在实际观测里,前面的网络建立成本通常也会被一起体现进来。

它主要反映什么

  • 网络往返延迟
  • 服务端处理时间
  • 上游依赖是否慢
  • 代理、CDN、网关回源是否卡住

最直白的理解

可以把它想成:

  • 不是“外卖送到你手上用了多久”
  • 而是“商家多久才开始出餐并把第一份餐递出来”

所以:

  • TTFB 高:开始回得慢
  • 下载慢:已经开始回了,但传得慢

这是两个不同问题。

在 DevTools 里怎么看

在 Network 面板 里点开请求,看 Timing:

  • Request sent
  • Waiting for server response
  • Content Download

其中最接近 TTFB 的通常就是 Waiting for server response。

如果这一段特别长,说明浏览器很快把请求发出去了,但服务器很久才开始返回第一个字节。

TTFB 高通常意味着什么

服务端处理慢

  • 后端逻辑重
  • 数据库查询慢
  • 调第三方服务慢
  • 鉴权链路慢
  • 缓存未命中

网络往返延迟高

  • 用户离服务器很远
  • 网络环境差
  • TLS 建连慢
  • 跨区域访问

代理 / CDN / 网关到源站慢

  • 边缘节点快,但回源慢
  • 网关或反向代理排队
  • 源站本身被上游依赖拖慢

边界与易混淆点

TTFB 和总耗时不是一回事

  • TTFB:多久开始回
  • Total Time:整个请求从开始到结束一共多久

例如:

  • TTFB = 30s
  • 下载 = 20ms

这通常说明问题不在文件太大,而在服务器很久才开口。

TTFB 高不等于一定是后端代码慢

它可能慢在:

  • 服务器处理
  • 数据库或第三方依赖
  • 反向代理 / CDN / 网关
  • 网络往返

所以看到 TTFB 高,应该继续拆链路,而不是直接把锅甩给某一层。

它和 FCP / LCP 的关系

TTFB 更偏“请求什么时候开始返回”,而 FCP、LCP 更偏“用户什么时候真的看到内容”。

TTFB 高常常会拖慢 FCP / LCP,但它们不是同一个指标。

创建于 2026/4/13 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本