PerformanceResourceTiming: firstInterimResponseStart-Eigenschaft
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Die firstInterimResponseStart
schreibgeschützte Eigenschaft gibt einen Zeitstempel
unmittelbar nachdem der Browser das erste Byte der vorläufigen 1xx-Antwort (z.B. 100 Continue oder 103 Early Hints) vom Server empfängt, zurück.
Es gibt keine end-Eigenschaft für firstInterimResponseStart
.
Wert
Die firstInterimResponseStart
-Eigenschaft kann folgende Werte haben:
- Ein
DOMHighResTimeStamp
unmittelbar nachdem der Browser die ersten vorläufigen Bytes der Antwort vom Server empfängt. 0
, wenn die Ressource keine vorläufige Antwort gesendet hat0
, wenn es sich bei der Ressource um eine Cross-Origin-Anfrage handelt und keinTiming-Allow-Origin
HTTP-Response-Header verwendet wird.
Hinweis: Da Early Hints typischerweise nur bei der Hauptnavigationsanfrage unterstützt werden, die definitionsgemäß same-origin ist, weist 0
typischerweise darauf hin, dass Early Hints nicht verwendet wurden.
Beispiele
Messung der Anforderungszeit
Die firstInterimResponseStart
- und requestStart
-Eigenschaften 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.
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 Leistungstimeline des Browsers aufgezeichnet werden. Die Option buffered
wird verwendet, um auf Einträge von vor der Erstellung des Observers zuzugreifen.
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 anzeigt, die zum Zeitpunkt des Aufrufs der Methode in der Leistungstimeline des Browsers vorhanden sind.
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-Zeiteninformationen
Wenn der Wert der firstInterimResponseStart
-Eigenschaft 0
ist, könnte die Ressource eine Cross-Origin-Anfrage sein. Um Cross-Origin-Zeiteninformationen sehen zu können, muss der Timing-Allow-Origin
HTTP-Response-Header gesetzt werden.
Zum Beispiel sollte die Cross-Origin-Ressource Folgendes senden, um https://developer.mozilla.org
den Zugriff auf Zeiteninformationen zu erlauben:
Timing-Allow-Origin: https://developer.mozilla.org
Spezifikationen
Specification |
---|
Resource Timing # dom-performanceresourcetiming-firstinterimresponsestart |
Browser-Kompatibilität
BCD tables only load in the browser