TTFB 是否包括重定向到我页面的请求的时间?

Does TTFB include the time for the request that redirects to my page?

我正在使用 web-vitals javascript 库计算页面上的 TTFB(第一个字节的时间)和其他网络生命力。

流程是这样的:

  1. 用户正在查看来自服务器 A 的网页,单击按钮或其他 link,导致向服务器 A 发送请求。
  2. 服务器 A 分析请求和 returns 重定向,可能是 303,link 到我的页面,在服务器 B 上。
  3. 浏览器被重定向到我在服务器 B 上的页面,该页面加载了内容。

我在服务器 B 上的页面中测量了 TTFB。

我测量的 TTFB 是否包括从服务器 A 获取重定向所花费的时间?

是的,TTFB 根据 Chrome 用户体验报告(支持 Google 的 Web Vitals 程序的数据集)测量,包括重定向时间。

上面链接的 Chrome UX Report 文档中引用的定义是:

Time to first byte (TTFB) is a measurement used as an indication of the responsiveness of a webserver or other network resource. TTFB measures the duration from the user or client making an HTTP request to the first byte of the page being received by the client's browser. This time is made up of the socket connection time, the time taken to send the HTTP request, and the time taken to get the first byte of the page.

来自Wikipedia

之所以将重定向包含在指标中,是因为这是最终用户在等待页面加载时的体验。仅测量该时间的一个子集可能会描绘出不切实际的用户体验画面。

借用 Navigation Timing 规范中的图形,TTFB 由上面红色框中的阶段表示。