#redirect #web-vitals
Вопрос:
Я вычисляю TTFB (время до первого байта) и другие важные веб-параметры на странице, используя библиотеку web-vitals
javascript.
Поток такой:
- Пользователь, просматривая веб — страницу с сервера A, нажимает кнопку или другую ссылку, в результате чего запрос отправляется на сервер A.
- Сервер A анализирует запрос и возвращает перенаправление, вероятно, 303, со ссылкой на мою страницу, которая находится на сервере B.
- Браузер перенаправляется на мою страницу на сервере B, которая загружается содержимым.
На своей странице на сервере B я измеряю TTFB.
Будет ли TTFB, который я измеряю, включать время, необходимое для получения перенаправления с сервера A?
Ответ №1:
Да, TTFB, измеренный в отчете Chrome UX (набор данных, который поддерживает программу Google Web Vitals), включает время перенаправления.
Определение, приведенное в документах отчета Chrome UX, приведенных выше, является:
Время до первого байта (TTFB) — это измерение, используемое в качестве показателя быстродействия веб-сервера или другого сетевого ресурса. TTFB измеряет продолжительность от пользователя или клиента, отправляющего HTTP-запрос, до первого байта страницы, получаемой браузером клиента. это время складывается из времени подключения к сокету, времени, затраченного на отправку HTTP-запроса, и времени, затраченного на получение первого байта страницы.
Из Википедии
Причина, по которой перенаправления включены в метрику, заключается в том, что именно это испытывают конечные пользователи, ожидая загрузки страницы. Измерение только части этого времени может нарисовать нереалистичную картину потока.
Позаимствовав графику из спецификации времени навигации, 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 время выгрузки может быть не видно по соображениям безопасности (та же политика происхождения и т.д.) — может отображаться информация о реализации ранее открытой страницы