Spec-Zone.ru › Web APIs

PerformanceResourceTiming: свойство connectStart

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

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

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

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

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

Значение

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

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

Примеры

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

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

Информация о междоменном тайминге

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

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

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

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

Спецификация
Тайминг ресурсов
# dom-performanceresourcetiming-connectstart

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

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

Spec-Zone.ru

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