PerformanceResourceTiming: свойство secureConnectionStart
Базовая линия Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2017 года.
Примечание: Эта функция доступна в Web Workers.
Это secureConnectionStart только для чтения свойство возвращает timestamp непосредственно перед тем, как браузер начнёт процесс установления безопасного соединения. Если безопасное соединение не используется, свойство возвращает ноль.
Значение
Свойство secureConnectionStart может принимать следующие значения:
DOMHighResTimeStampуказывающий время непосредственно перед тем, как браузер начнёт процесс установления безопасного соединения, если ресурс загружается по защищённому соединению.-
0если безопасное соединение не используется. -
0если ресурс был мгновенно получен из кэша. -
0если ресурс является запросом с другого домена и используется заголовок ответа HTTPTiming-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
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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