Spec-Zone.ru › Web APIs

PerformanceResourceTiming: свойство secureConnectionStart

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

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

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

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

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

Значение

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

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

Примеры

Измерение времени переговоров TLS

Свойства secureConnectionStart и requestStart можно использовать для измерения времени, необходимого для проведения переговоров TLS.

const tls = entry.requestStart - entry.secureConnectionStart;

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

const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    const tls = entry.requestStart - entry.secureConnectionStart;
    if (tls > 0) {
      console.log(`${entry.name}: TLS negotiation duration: ${tls}ms`);
    }
  });
});

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

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

const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
  const tls = entry.requestStart - entry.secureConnectionStart;
  if (tls > 0) {
    console.log(`${entry.name}: TLS negotiation duration: ${tls}ms`);
  }
});

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

Если значение свойства secureConnectionStart равно 0, ресурс либо не использует защищённое соединение, либо это запрос с другого домена. Для отображения информации о тайминге кросс-доменных запросов необходимо установить заголовок ответа HTTP Timing-Allow-Origin.

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

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

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

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

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

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

Spec-Zone.ru

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