Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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-gzip als 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.

js
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.

js
const dictionaryCompressedResources = performance
  .getEntriesByType("resource")
  .filter(
    (entry) =>
      entry.contentEncoding === "dcb" || entry.contentEncoding === "dcz",
  );
console.log(dictionaryCompressedResources);

Spezifikationen

Spezifikation
Resource Timing
# dom-performanceresourcetiming-contentencoding

Browser-Kompatibilität