Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

PerformanceResourceTiming: responseStart-Eigenschaft

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2017⁩.

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

Die schreibgeschützte Eigenschaft responseStart gibt einen timestamp direkt nachdem der Browser das erste Byte der Antwort vom Server, Cache oder einer lokalen Ressource erhält, zurück.

Wert

Die responseStart-Eigenschaft kann folgende Werte haben:

  • Ein DOMHighResTimeStamp direkt nachdem der Browser das erste Byte der Antwort vom Server erhält.
  • 0, wenn die Ressource sofort aus einem Cache abgerufen wurde.
  • 0, wenn die Ressource eine Cross-Origin-Anfrage ist und kein Timing-Allow-Origin HTTP-Response-Header verwendet wird.
  • 0, wenn die Ressource eine abgebrochene Anfrage ist.

Beispiele

Messung der Anforderungszeit

Die responseStart- und requestStart-Eigenschaften können verwendet werden, um zu messen, wie lange die Anforderung dauert.

js
const request = entry.responseStart - entry.requestStart;

Beispiel mit einem PerformanceObserver, der über neue resource-Performance-Einträge benachrichtigt, während sie in der Performance-Timeline des Browsers aufgezeichnet werden. Verwenden Sie die buffered-Option, um Einträge von vor der Erstellung des Observers zuzugreifen.

js
const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    const request = entry.responseStart - entry.requestStart;
    if (request > 0) {
      console.log(`${entry.name}: Request time: ${request}ms`);
    }
  });
});

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

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

js
const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
  const request = entry.responseStart - entry.requestStart;
  if (request > 0) {
    console.log(`${entry.name}: Request time: ${request}ms`);
  }
});

Cross-Origin-Zeitrauminformationen

Wenn der Wert der responseStart-Eigenschaft 0 ist, könnte die Ressource eine Cross-Origin-Anfrage sein. Um die Anzeige von Cross-Origin-Zeitrauminformationen zu erlauben, muss der Timing-Allow-Origin HTTP-Response-Header gesetzt werden.

Um beispielsweise https://developer.mozilla.org zu erlauben, Zeitressourcen zu sehen, sollte die Cross-Origin-Ressource senden:

http
Timing-Allow-Origin: https://developer.mozilla.org

Spezifikationen

Specification
Resource Timing
# dom-performanceresourcetiming-responsestart

Browser-Kompatibilität

Siehe auch