PerformanceResourceTiming: responseStatus-Eigenschaft

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die schreibgeschützte Eigenschaft responseStatus repräsentiert den HTTP-Antwortstatuscode, der beim Abrufen der Ressource zurückgegeben wird.

Diese Eigenschaft entspricht Response.status aus der Fetch API.

Wert

Die responseStatus-Eigenschaft kann die folgenden Werte annehmen:

  • Eine Zahl, die den HTTP-Antwortstatuscode angibt, der beim Abrufen der Ressource zurückgegeben wird.
  • 0, wenn die CORS-Prüfung fehlschlägt.
  • 0 für plattformübergreifende <iframe>-Objekte.

Beispiele

Überprüfung, ob ein Cache getroffen wurde

Die responseStatus-Eigenschaft kann verwendet werden, um zwischengespeicherte Ressourcen mit einem 304 Not Modified-Antwortstatuscode zu überprüfen.

Beispiel mit einem PerformanceObserver, der über neue resource-Performance-Einträge informiert, während sie in der Leistungstimeline des Browsers erfasst werden. Verwenden Sie die buffered-Option, um auf Einträge zuzugreifen, die vor der Erstellung des Observers vorhanden waren.

js
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 });

Beispiel mit Performance.getEntriesByType(), das nur resource-Performance-Einträge zeigt, die in der Leistungstimeline des Browsers zum Zeitpunkt des Aufrufs dieser Methode vorhanden sind:

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

Alternativ, wenn responseStatus nicht verfügbar ist, können Sie prüfen, ob die transferSize-Eigenschaft 0 zurückgegeben hat.

Plattformübergreifende Antwortstatuscodes

Wenn der Wert der responseStatus-Eigenschaft 0 ist, könnte die Ressource eine plattformübergreifende Anfrage sein. Um plattformübergreifende Antwortstatuscodes anzuzeigen, muss der CORS Access-Control-Allow-Origin HTTP-Antwortheader gesetzt werden.

Um beispielsweise https://developer.mozilla.org zu erlauben, Antwortstatuscodes zu sehen, sollte die plattformübergreifende Ressource senden:

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

Spezifikationen

Specification
Resource Timing
# dom-performanceresourcetiming-responsestatus

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
responseStatus

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

Siehe auch