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
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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