Spec-Zone.ru › Web APIs

PerformanceResourceTiming: свойство domainLookupStart

Базовая линия Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2017 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в рабочих потоках.

Это domainLookupStart только для чтения, возвращающее timestamp непосредственно перед тем, как браузер начнёт поиск доменного имени ресурса.

Значение

Свойство domainLookupStart может принимать следующие значения:

  • A DOMHighResTimeStamp непосредственно перед началом поиска доменного имени ресурса браузером.
  • 0 если ресурс мгновенно извлечён из кеша.
  • 0 если запрос на ресурс происходит из другого источника (cross-origin), и заголовок ответа HTTP Timing-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

Спецификации

Спецификация
Временные метки ресурсов
# dom-performanceresourcetiming-domainlookupstart

Совместимость с браузерами

Рабочий стол Мобильные устройства
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

См. также

  • Timing-Allow-Origin

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API