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

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

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

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 es sich bei der Ressource um eine Cross-Origin-Anfrage handelt und kein Timing-Allow-Origin HTTP-Antwort-Header verwendet wird.

Hinweis: Da Early Hints typischerweise nur bei der Hauptnavigationsanforderung unterstützt werden, die per Definition gleichherkunft ist, bedeutet ein Wert von 0 typischerweise, dass Early Hints nicht verwendet wurden.

Wenn firstInterimResponseStart ungleich null ist, weist dies darauf hin, dass es den gleichen 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 Leistungseinträge von resource zu informieren, sobald sie in der Leistungstimeline des Browsers erfasst werden. Die buffered-Option wird verwendet, um auf Einträge zuzugreifen, die vor der Erstellung des Observers vorhanden waren.

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-Leistungseinträge anzeigt, die in der Leistungstimeline des Browsers zum Zeitpunkt des Aufrufs der Methode 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`);
  }
});

Informationen zum Timing bei Cross-Origin-Anfragen

Wenn der Wert der Eigenschaft firstInterimResponseStart 0 ist, könnte die Ressource eine Cross-Origin-Anfrage sein. Um das Timing bei Cross-Origin-Anfragen sichtbar zu machen, muss der Timing-Allow-Origin HTTP-Antwort-Header gesetzt werden.

Zum Beispiel, um https://developer.mozilla.org zu erlauben, Timing-Ressourcen zu sehen, sollte die Cross-Origin-Ressource senden:

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

Spezifikationen

Specification
Resource Timing
# dom-performanceresourcetiming-firstinterimresponsestart

Browser-Kompatibilität

Siehe auch