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: firstInterimResponseStart-Eigenschaft

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

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

Die schreibgeschützte Eigenschaft firstInterimResponseStart gibt einen timestamp zurück, unmittelbar nachdem der Browser das erste Byte der vorläufigen 1xx-Antwort (zum Beispiel 100 Continue oder 103 Early Hints) vom Server erhält.

Es gibt keine end-Eigenschaft für firstInterimResponseStart.

Wert

Die Eigenschaft firstInterimResponseStart kann die folgenden Werte haben:

  • Ein DOMHighResTimeStamp unmittelbar nachdem der Browser die ersten vorläufigen Bytes der Antwort vom Server erhält.
  • 0, wenn die Ressource keine vorläufige Antwort gesendet hat.
  • 0, wenn die Ressource eine Cross-Origin-Anfrage ist und der Timing-Allow-Origin HTTP-Antwort-Header nicht verwendet wird.

Hinweis: Da Early Hints typischerweise nur bei der Hauptnavigationsanfrage unterstützt werden, die per Definition gleichen Ursprungs ist, zeigt ein 0 typischerweise an, dass Early Hints nicht verwendet wurden.

Wenn firstInterimResponseStart ungleich null ist, bedeutet das, dass es denselben Wert wie requestStart für unterstützende Browser haben sollte.

Beispiele

Messung der Anforderungszeit

Die Eigenschaften firstInterimResponseStart und requestStart können verwendet werden, um zu messen, wie lange es dauert, bis der Browser eine vorläufige Antwort nach dem Senden der Anfrage erhält.

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

Das folgende Beispiel verwendet einen PerformanceObserver, um über neue resource-Performance-Einträge zu informieren, sobald sie in der Performance-Zeitleiste des Browsers erfasst werden. Die Option buffered wird verwendet, um auf Einträge vor der Erstellung des Observers zuzugreifen.

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

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

Das folgende Beispiel verwendet Performance.getEntriesByType(), das nur resource-Performance-Einträge zeigt, die zur Zeit des Aufrufs der Methode in der Performance-Zeitleiste des Browsers vorhanden sind.

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

Cross-Origin-Timing-Informationen

Wenn der Wert der Eigenschaft firstInterimResponseStart 0 ist, könnte die Ressource eine Cross-Origin-Anfrage sein. Um die Anzeige von Cross-Origin-Timing-Informationen zu ermöglichen, muss der Timing-Allow-Origin HTTP-Antwort-Header gesetzt werden.

Um zum Beispiel https://developer.mozilla.org die Anzeige von Timing-Ressourcen zu ermöglichen, sollte die Cross-Origin-Ressource senden:

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

Spezifikationen

Spezifikation
Resource Timing
# dom-performanceresourcetiming-firstinterimresponsestart

Browser-Kompatibilität

Siehe auch