PerformanceResourceTiming: свойство responseStart
Базовая линия Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2017 года.
Примечание: Эта функция доступна в Web Workers.
Это responseStart только для чтения свойство возвращает timestamp сразу после того, как браузер получит первый байт ответа от сервера, кэша или локального ресурса.
Значение
Свойство responseStart может иметь следующие значения:
- A
DOMHighResTimeStampсразу после того, как браузер получит первый байт ответа от сервера. -
0если ресурс был мгновенно получен из кэша. -
0если ресурс является запросом к другому домену и не используется заголовок ответа HTTPTiming-Allow-Origin.
Примеры
Измерение времени запроса
Свойства responseStart и requestStart можно использовать для измерения времени выполнения запроса.
const request = entry.responseStart - entry.requestStart;
Пример с использованием PerformanceObserver, который уведомляет о новых записях resource производительности, по мере их записи в временной шкале производительности браузера. Используйте параметр buffered для доступа к записям, созданным до создания наблюдателя.
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
const request = entry.responseStart - entry.requestStart;
if (request > 0) {
console.log(`${entry.name}: Request time: ${request}ms`);
}
});
});
observer.observe({ type: "resource", buffered: true });
Пример с использованием Performance.getEntriesByType(), который показывает только resource записи производительности, присутствующие в временной шкале производительности браузера в момент вызова этого метода:
const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
const request = entry.responseStart - entry.requestStart;
if (request > 0) {
console.log(`${entry.name}: Request time: ${request}ms`);
}
});
Информация о времени выполнения для запросов к другим доменам
Если значение свойства responseStart равно 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 | |
responseStart |
133115–133Возвращает время окончательного ответа, даже если доступен промежуточный ответ. |
12 | 35 |
101Возвращает время окончательного ответа, даже если доступен промежуточный ответ. |
11 | 133115–133Возвращает время окончательного ответа, даже если доступен промежуточный ответ. |
35 |
77Возвращает время окончательного ответа, даже если доступен промежуточный ответ. |
11 |
23.0Возвращает время окончательного ответа, даже если доступен промежуточный ответ. |
133115–133Возвращает время окончательного ответа, даже если доступен промежуточный ответ. |
См. также
© 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/responseStart