PerformanceResourceTiming: свойство firstInterimResponseStart
Примечание: Эта функция доступна в Потоках Web Workers.
Экспериментальная функция: Это экспериментальная технология
Перед использованием в производстве тщательно проверьте таблицу совместимости браузеров.
Это firstInterimResponseStart только для чтения возвращает timestamp сразу после того, как браузер получит первый байт промежуточного ответа 1xx (например, 100 Continue или 103 Early Hints) от сервера.
Для firstInterimResponseStart нет свойства end.
Значение
Свойство firstInterimResponseStart может иметь следующие значения:
DOMHighResTimeStampсразу после того, как браузер получит первые промежуточные байты ответа от сервера.-
0если ресурс не отправил промежуточный ответ. -
0если ресурс является запросом с разных доменов и используется заголовок HTTPTiming-Allow-Origin.
Примечание: Поскольку ранние подсказки обычно поддерживаются только для основного запроса навигации, который по определению имеет одинаковый домен, 0 обычно указывает, что ранние подсказки не использовались.
Когда firstInterimResponseStart не равно нулю, это означает, что оно должно быть таким же, как значение requestStart для поддерживающих браузеров.
Примеры
Измерение времени запроса
Свойства firstInterimResponseStart и requestStart можно использовать для измерения времени, необходимого браузеру для получения промежуточного ответа после отправки запроса.
const request = entry.firstInterimResponseStart - entry.requestStart;
В следующем примере используется PerformanceObserver для уведомления о новых resource записях производительности по мере их регистрации в временной шкале производительности браузера. Используется опция buffered для доступа к записям, имеющимся до создания наблюдателя.
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
const request = entry.firstInterimResponseStart - entry.requestStart;
if (request > 0) {
console.log(`${entry.name}: Interim response time: ${request}ms`);
}
});
});
observer.observe({ type: "resource", buffered: true });
В следующем примере используется Performance.getEntriesByType(), который показывает только resource записи производительности, присутствующие в временной шкале производительности браузера на момент вызова метода.
const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
const request = entry.firstInterimResponseStart - entry.requestStart;
if (request > 0) {
console.log(`${entry.name}: Interim response time: ${request}ms`);
}
});
Информация о тайминге запросов с разных доменов
Если значение свойства firstInterimResponseStart равно 0, ресурс может быть запросом с разных доменов. Чтобы увидеть информацию о тайминге запросов с разных доменов, необходимо установить заголовок HTTP Timing-Allow-Origin.
Например, чтобы https://developer.mozilla.org мог увидеть ресурсы тайминга, ресурс с разных доменов должен отправить:
Timing-Allow-Origin: https://developer.mozilla.org
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
firstInterimResponseStart |
115 | 115 | Нет | 101 | Нет | 115 | Нет | 77 | Нет | 23.0 | 115 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/firstInterimResponseStart