PerformanceResourceTiming: firstInterimResponseStart-Eigenschaft
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
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 die Ressource eine Cross-Origin-Anfrage ist und keinTiming-Allow-Origin
HTTP-Response-Header verwendet wird.
Hinweis:
Da Early Hints typischerweise nur bei der Hauptnavigation unterstützt werden, die definitionsgemäß gleich-origin ist, zeigt ein Wert von 0
typischerweise an, dass Early Hints nicht verwendet wurden.
Ein nicht-null-firstInterimResponseStart
zeigt an, dass es denselben Wert haben sollte wie requestStart
bei unterstützenden Browsern.
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.
const request = entry.firstInterimResponseStart - entry.requestStart;
Im folgenden Beispiel wird ein PerformanceObserver
verwendet, um über neue resource
-Performance-Einträge zu benachrichtigen, sobald sie in der Performance-Zeitleiste des Browsers aufgezeichnet werden. Die buffered
-Option wird verwendet, um Einträge 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 sich zum Zeitpunkt des Aufrufs der Methode in der Performance-Zeitleiste des Browsers befinden.
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`);
}
});
Timing-Informationen für Cross-Origin-Anfragen
Wenn der Wert der Eigenschaft firstInterimResponseStart
0
ist, könnte die Ressource eine Cross-Origin-Anfrage sein. Um das Anzeigen von Timing-Informationen für Cross-Origin-Anfragen zu ermöglichen, muss der Timing-Allow-Origin
HTTP-Response-Header gesetzt werden.
Zum Beispiel, um https://developer.mozilla.org
zu erlauben, Timing-Ressourcen zu sehen, sollte die Cross-Origin-Resource senden:
Timing-Allow-Origin: https://developer.mozilla.org
Spezifikationen
Specification |
---|
Resource Timing # dom-performanceresourcetiming-firstinterimresponsestart |
Browser-Kompatibilität
BCD tables only load in the browser