PerformanceResourceTiming: свойство domainLookupStart
Базовая линия Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2017 года.
Примечание: Эта функция доступна в рабочих потоках.
Это domainLookupStart только для чтения, возвращающее timestamp непосредственно перед тем, как браузер начнёт поиск доменного имени ресурса.
Значение
Свойство domainLookupStart может принимать следующие значения:
- A
DOMHighResTimeStampнепосредственно перед началом поиска доменного имени ресурса браузером. -
0если ресурс мгновенно извлечён из кеша. -
0если запрос на ресурс происходит из другого источника (cross-origin), и заголовок ответа HTTPTiming-Allow-Originне используется.
Примеры
Измерение времени поиска DNS
Свойства domainLookupStart и domainLookupEnd можно использовать для измерения времени, затрачиваемого на поиск DNS.
const dns = entry.domainLookupEnd - entry.domainLookupStart;
Пример с использованием PerformanceObserver, который оповещает о новых resource записях производительности по мере их регистрации в временной шкале производительности браузера. Используйте параметр buffered для доступа к записям, созданным до создания наблюдателя.
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
const dns = entry.domainLookupEnd - entry.domainLookupStart;
if (dns > 0) {
console.log(`${entry.name}: DNS lookup duration: ${dns}ms`);
}
});
});
observer.observe({ type: "resource", buffered: true });
Пример с использованием Performance.getEntriesByType(), который отображает только resource записи производительности, присутствующие во временной шкале производительности браузера на момент вызова этого метода:
const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
const dns = entry.domainLookupEnd - entry.domainLookupStart;
if (dns > 0) {
console.log(`${entry.name}: DNS lookup duration: ${dns}ms`);
}
});
Информация о времени выполнения кросс-доменных запросов
Если значение свойства domainLookupStart равно 0, ресурс, вероятно, является кросс-доменным запросом. Для отображения информации о времени выполнения таких запросов необходимо установить заголовок ответа HTTP Timing-Allow-Origin.
Например, чтобы https://developer.mozilla.org смог увидеть ресурсы с отслеживаемым временем выполнения, кросс-доменный ресурс должен отправлять:
Timing-Allow-Origin: https://developer.mozilla.org
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari в iOS | Samsung Internet | WebView Android | |
domainLookupStart |
43 | 12 | 35 | 30 | 11 | 43 | 35 | 30 | 11 | 4.0 | 43 |
См. также
© 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/domainLookupStart