Spec-Zone.ru › Web APIs

PerformanceResourceTiming: свойство responseStatus

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

Это responseStatus только для чтения, представляющее код состояния HTTP ответа, возвращаемый при загрузке ресурса.

Это свойство соответствует Response.status из Fetch API.

Значение

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

  • Число, указывающее на код состояния HTTP ответа, возвращаемый при загрузке ресурса.
  • 0 если проверка CORS завершается неудачно.
  • 0 для кросс-доменных объектов <iframe>.

Примеры

Проверка попадания в кэш

Свойство responseStatus можно использовать для проверки кэшированных ресурсов с кодом состояния HTTP ответа 304 Not Modified.

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

const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    if (entry.responseStatus === 304) {
      console.log(`${entry.name} was loaded from cache`);
    }
  });
});

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

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

const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
  if (entry.responseStatus === 304) {
    console.log(`${entry.name} was loaded from cache`);
  }
});

В качестве альтернативы, если responseStatus недоступно, вы можете проверить, вернуло ли свойство transferSize значение 0.

Коды состояния ответа при кросс-доменных запросах

Если значение свойства responseStatus равно 0, ресурс может быть запросом с другого домена. Чтобы отобразить коды состояния ответов с других доменных имен, заголовок HTTP ответа CORS Access-Control-Allow-Origin должен быть установлен.

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

Access-Control-Allow-Origin: https://developer.mozilla.org

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

Спецификация
Resource Timing
# dom-performanceresourcetiming-responsestatus

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
responseStatus 109 109 129 95 Нет 109 129 74 Нет 21.0 109

См. также

  • Код состояния ответа HTTP
  • Response.status
  • CORS

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

Spec-Zone.ru

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