Включает ли TTFB время для запроса, который перенаправляет на мою страницу?

#redirect #web-vitals

Вопрос:

Я вычисляю TTFB (время до первого байта) и другие важные веб-параметры на странице, используя библиотеку web-vitals javascript.

Поток такой:

  1. Пользователь, просматривая веб — страницу с сервера A, нажимает кнопку или другую ссылку, в результате чего запрос отправляется на сервер A.
  2. Сервер A анализирует запрос и возвращает перенаправление, вероятно, 303, со ссылкой на мою страницу, которая находится на сервере B.
  3. Браузер перенаправляется на мою страницу на сервере B, которая загружается содержимым.

На своей странице на сервере B я измеряю TTFB.

Будет ли TTFB, который я измеряю, включать время, необходимое для получения перенаправления с сервера A?

Ответ №1:

Да, TTFB, измеренный в отчете Chrome UX (набор данных, который поддерживает программу Google Web Vitals), включает время перенаправления.

Определение, приведенное в документах отчета Chrome UX, приведенных выше, является:

Время до первого байта (TTFB) — это измерение, используемое в качестве показателя быстродействия веб-сервера или другого сетевого ресурса. TTFB измеряет продолжительность от пользователя или клиента, отправляющего HTTP-запрос, до первого байта страницы, получаемой браузером клиента. это время складывается из времени подключения к сокету, времени, затраченного на отправку HTTP-запроса, и времени, затраченного на получение первого байта страницы.

Из Википедии

Причина, по которой перенаправления включены в метрику, заключается в том, что именно это испытывают конечные пользователи, ожидая загрузки страницы. Измерение только части этого времени может нарисовать нереалистичную картину потока.

Время навигации Уровень 2 изображение, показывающее TTFB от времени начала навигации запроса на выгрузку до времени начала ответа.

Позаимствовав графику из спецификации времени навигации, TTFB представлен этапами в красном поле выше.

Комментарии:

1. Кстати, могу ли я измерить время, в течение которого пользователь делает запрос, до получения перенаправления? Или от перенаправления не получено до первого байта?

2. Да, на диаграмме в ответе показаны различные измерения времени навигации, к которым вы можете получить доступ, чтобы ответить на подобные вопросы. Видишь developer.mozilla.org/en-US/docs/Web/API/Navigation_timing_API для получения дополнительной информации.

3. Я только что попробовал это. Я настроил сервер, который перенаправляет на мою страницу после 2-секундного тайм-аута. Тогда я утешаю. зарегистрируйте объект PerformanceNavigationTiming (работающий локально в dev). Там есть много подробных таймингов, однако значения redirectStart, redirectEnd и redirectCount равны 0. Возможно, они еще не реализованы, и, возможно, именно поэтому они указаны в скобках на рисунке выше. В любом случае, я могу довольно хорошо рассчитать это, используя время выгрузки и время запуска.

4. Исправление к комментарию выше. Похоже, что сроки, связанные с разгрузкой, также не реализованы.

5. @OttoPaulsen время выгрузки может быть не видно по соображениям безопасности (та же политика происхождения и т.д.) — может отображаться информация о реализации ранее открытой страницы