PerformanceResourceTiming: responseStart-Eigenschaft
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die schreibgeschützte Eigenschaft responseStart gibt einen timestamp direkt nachdem der Browser das erste Byte der Antwort vom Server, Cache oder einer lokalen Ressource erhält, zurück.
Wert
Die responseStart-Eigenschaft kann folgende Werte haben:
- Ein
DOMHighResTimeStampdirekt nachdem der Browser das erste Byte der Antwort vom Server erhält. 0, wenn die Ressource sofort aus einem Cache abgerufen wurde.0, wenn die Ressource eine Cross-Origin-Anfrage ist und keinTiming-Allow-OriginHTTP-Response-Header verwendet wird.0, wenn die Ressource eine abgebrochene Anfrage ist.
Beispiele
>Messung der Anforderungszeit
Die responseStart- und requestStart-Eigenschaften können verwendet werden, um zu messen, wie lange die Anforderung dauert.
const request = entry.responseStart - entry.requestStart;
Beispiel mit einem PerformanceObserver, der über neue resource-Performance-Einträge benachrichtigt, während sie in der Performance-Timeline des Browsers aufgezeichnet werden. Verwenden Sie die buffered-Option, um Einträge von vor der Erstellung des Observers zuzugreifen.
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
const request = entry.responseStart - entry.requestStart;
if (request > 0) {
console.log(`${entry.name}: Request time: ${request}ms`);
}
});
});
observer.observe({ type: "resource", buffered: true });
Beispiel mit Performance.getEntriesByType(), das nur resource-Performance-Einträge anzeigt, die in der Performance-Timeline des Browsers zum Zeitpunkt des Aufrufs dieser Methode vorhanden sind:
const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
const request = entry.responseStart - entry.requestStart;
if (request > 0) {
console.log(`${entry.name}: Request time: ${request}ms`);
}
});
Cross-Origin-Zeitrauminformationen
Wenn der Wert der responseStart-Eigenschaft 0 ist, könnte die Ressource eine Cross-Origin-Anfrage sein. Um die Anzeige von Cross-Origin-Zeitrauminformationen zu erlauben, muss der Timing-Allow-Origin HTTP-Response-Header gesetzt werden.
Um beispielsweise https://developer.mozilla.org zu erlauben, Zeitressourcen zu sehen, sollte die Cross-Origin-Ressource senden:
Timing-Allow-Origin: https://developer.mozilla.org
Spezifikationen
| Specification |
|---|
| Resource Timing> # dom-performanceresourcetiming-responsestart> |
Browser-Kompatibilität
Loading…