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 haben:

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

Beispiele

Überprüfung, ob ein Cache-Treffer vorliegt

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-Performanceeinträge informiert, wie sie in der Performance-Timeline des Browsers erfasst werden. Verwenden Sie die Option buffered, um auf Einträge von vor der Erstellung des Observers zuzugreifen.

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-Performanceeinträge anzeigt, die zum Zeitpunkt des Aufrufs dieser Methode in der Performance-Timeline des Browsers 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 überprüfen, ob die transferSize-Eigenschaft 0 zurückgegeben hat.

Cross-origin Antwortstatuscodes

Wenn der Wert der responseStatus-Eigenschaft 0 ist, könnte die Ressource eine cross-origin Anfrage sein. Um das Anzeigen von Cross-Origin-Antwortstatuscodes zu ermöglichen, muss der CORS Access-Control-Allow-Origin HTTP-Antwortheader gesetzt werden.

Um https://developer.mozilla.org die Anzeige von Antwortstatuscodes zu ermöglichen, sollte die cross-origin Ressource zum Beispiel senden:

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

Spezifikationen

Specification
Resource Timing
# dom-performanceresourcetiming-responsestatus

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch