Spec-Zone.ru › Web APIs

PerformanceResourceTiming: свойство serverTiming

Базовая линия 2023
Новое свойство

С марта 2023 года эта функция работает на последних устройствах и версиях браузеров. Возможно, эта функция не будет работать на старых устройствах или браузерах.

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

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

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

Только для чтения свойство serverTiming возвращает массив записей PerformanceServerTiming, содержащих данные о времени работы сервера.

Для данных о времени работы сервера сервер должен отправить заголовок Server-Timing. Например:

Server-Timing: cache;desc="Cache Read";dur=23.2

Записи serverTiming могут существовать в записях navigation и resource.

Значение

Массив записей PerformanceServerTiming.

Примеры

Ведение журнала записей времени работы сервера

Вы можете использовать PerformanceObserver для отслеживания записей PerformanceServerTiming. Длительность каждой записи о времени работы сервера записывается в консоль.

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

const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    entry.serverTiming.forEach((serverEntry) => {
      console.log(`${serverEntry.name} duration: ${serverEntry.duration}`);
    });
  });
});

["navigation", "resource"].forEach((type) =>
  observer.observe({ type, buffered: true }),
);

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

for (const entryType of ["navigation", "resource"]) {
  for (const { name: url, serverTiming } of performance.getEntriesByType(
    entryType,
  )) {
    if (serverTiming) {
      for (const { name, duration } of serverTiming) {
        console.log(`${url}: ${name} duration: ${duration}`);
      }
    }
  }
}

Информация о времени работы сервера с другим доменным именем

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

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

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

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

Спецификация
Временная шкала сервера
# servertiming-attribute

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
serverTiming 65 79 61 52 16.4 65 61 47 16.4 9.0 65

См. также

  • PerformanceServerTiming
  • Server-Timing

© 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/serverTiming

Spec-Zone.ru

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