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

BCD tables only load in the browser

Siehe auch