PerformanceResourceTiming: Eigenschaft contentEncoding
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 contentEncoding des Interfaces PerformanceResourceTiming ist ein String, der die Inhaltskodierung der abgerufenen Ressource angibt.
Der Inhaltstyp wird aus dem HTTP-Header Content-Encoding extrahiert, der in der Abrufantwort der Ressource gesendet wird.
Wert
Ein String, der die Inhaltskodierung des Inhalts angibt. Dies kann einer der folgenden Werte sein:
gzip-
Ein Format, das die Lempel-Ziv-Kodierung (LZ77) mit einer 32-Bit-CRC verwendet. Dies ist das ursprüngliche Format des UNIX-Programms gzip. Der HTTP/1.1-Standard empfiehlt außerdem, dass Server, die diese Inhaltskodierung unterstützen, aus Kompatibilitätsgründen
x-gzipals Alias erkennen sollten. compress-
Ein Format, das den Lempel-Ziv-Welch-Algorithmus (LZW) verwendet. Der Wertname wurde vom UNIX-Programm compress übernommen, das diesen Algorithmus implementierte. Wie das Programm compress, das aus den meisten UNIX-Distributionen verschwunden ist, wird diese Inhaltskodierung heute von vielen Browsern nicht verwendet, teilweise aufgrund eines Patentproblems (das Patent lief 2003 ab).
deflate-
Verwendet die zlib-Struktur (definiert in RFC 1950) mit dem deflate-Komprimierungsalgorithmus (definiert in RFC 1951).
br-
Ein Format, das die Struktur des Brotli-Algorithmus verwendet (definiert in RFC 7932).
zstd-
Ein Format, das die Struktur des Zstandard-Algorithmus verwendet (definiert in RFC 8878).
dcb-
Ein Format, das den Dictionary-Compressed-Brotli-Algorithmus verwendet. Siehe Compression Dictionary Transport.
dcz-
Ein Format, das den Dictionary-Compressed-Zstandard-Algorithmus verwendet. Siehe Compression Dictionary Transport.
Beispiele
>Ressourcen filtern
Die Eigenschaft contentEncoding kann verwendet werden, um nur bestimmte Ressourcen-Timing-Einträge abzurufen, beispielsweise nur jene, die mit Compression Dictionary Transport zusammenhängen.
Das folgende Beispiel verwendet einen PerformanceObserver, um über neue resource-Performance-Einträge benachrichtigt zu werden, sobald diese in der Performance-Zeitachse des Browsers aufgezeichnet werden.
Die Option buffered wird verwendet, um auf Einträge zuzugreifen, die vor der Erstellung des Observers vorhanden waren.
const observer = new PerformanceObserver((list) => {
const dictionaryCompressedResources = list
.getEntries()
.filter(
(entry) =>
entry.contentEncoding === "dcb" || entry.contentEncoding === "dcz",
);
console.log(dictionaryCompressedResources);
});
observer.observe({ type: "resource", buffered: true });
Das folgende Beispiel verwendet Performance.getEntriesByType(), das nur resource-Performance-Einträge anzeigt, die zum Zeitpunkt des Methodenaufrufs in der Performance-Zeitachse des Browsers vorhanden sind.
const dictionaryCompressedResources = performance
.getEntriesByType("resource")
.filter(
(entry) =>
entry.contentEncoding === "dcb" || entry.contentEncoding === "dcz",
);
console.log(dictionaryCompressedResources);
Spezifikationen
| Spezifikation |
|---|
| Resource Timing> # dom-performanceresourcetiming-contentencoding> |