Spec-Zone.ru › Web APIs

PerformanceResourceTiming: свойство domainLookupEnd

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

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

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

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

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

Если у пользователя есть информация о домене в кэше, domainLookupStart и domainLookupEnd представляют собой моменты времени, когда пользовательский агент начинает и завершает получение данных о домене из кэша.

Значение

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

  • A DOMHighResTimeStamp представляющий время сразу после завершения браузером поиска имени домена для ресурса.
  • 0 если ресурс был мгновенно получен из кэша.
  • 0 если запрос ресурса происходит из другого источника (кросс-доменный запрос) и заголовок ответа HTTP Timing-Allow-Origin не используется.

Примеры

Измерение времени поиска DNS

Свойства domainLookupEnd и domainLookupStart можно использовать для измерения времени, необходимого для поиска 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`);
  }
});

Информация о времени кросс-доменных запросов

Если значение свойства domainLookupEnd равно 0, ресурс может быть запрошен из другого источника (кросс-доменный запрос). Чтобы получить информацию о времени таких запросов, необходимо установить заголовок ответа HTTP Timing-Allow-Origin.

Например, чтобы разрешить https://developer.mozilla.org видеть временные ресурсы, ресурс из другого источника должен отправить:

Timing-Allow-Origin: https://developer.mozilla.org

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

Спецификация
Ресурсные замеры
# dom-performanceresourcetiming-domainlookupend

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
domainLookupEnd 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/domainLookupEnd

Spec-Zone.ru

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