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
DOMHighResTimeStampunmittelbar 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 keinTiming-Allow-OriginHTTP-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.
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.
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.
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:
Timing-Allow-Origin: https://developer.mozilla.org
Spezifikationen
| Specification |
|---|
| Resource Timing> # dom-performanceresourcetiming-firstinterimresponsestart> |