Spec-Zone.ru › Web APIs

PerformanceResourceTiming: свойство connectEnd

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

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

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

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

Это чтение-только свойство возвращает timestamp сразу после того, как браузер завершит установление соединения с сервером для получения ресурса. Значение отметки времени включает интервал времени для установления транспортного соединения, а также другие интервалы времени, такие как рукопожатие TLS и аутентификация SOCKS.

Значение

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

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

Примеры

Измерение времени рукопожатия TCP

Свойства connectEnd и connectStart могут использоваться для измерения того, сколько времени требуется для установления рукопожатия TCP.

const tcp = entry.connectEnd - entry.connectStart;

Пример использования PerformanceObserver, который уведомляет о новых resource записях производительности по мере их записи в временной шкале производительности браузера. Используйте опцию buffered для доступа к записям, которые существовали до создания наблюдателя.

const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    const tcp = entry.connectEnd - entry.connectStart;
    if (tcp > 0) {
      console.log(`${entry.name}: TCP handshake duration: ${tcp}ms`);
    }
  });
});

observer.observe({ type: "resource", buffered: true });

Пример использования Performance.getEntriesByType(), который показывает только resource записи производительности, присутствующие во временной шкале производительности браузера в момент вызова этого метода:

const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
  const tcp = entry.connectEnd - entry.connectStart;
  if (tcp > 0) {
    console.log(`${entry.name}: TCP handshake duration: ${tcp}ms`);
  }
});

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

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

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

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

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

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

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
connectEnd 43 12 35 32 11 43 35 32 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/connectEnd

Spec-Zone.ru

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