IBM Cloud Docs
Komprimierung und Optimierung

Komprimierung und Optimierung

IBM Cloud® Internet Services verwendet GZIP- und Brotli-Komprimierung für verschiedene Inhaltstypen, um die Ladezeiten von Seiten zu verbessern. Die Komprimierung erfolgt auf der Grundlage des Browsers User-Agent.

Wenn Sie bereits GZIP verwenden, akzeptiert CIS Ihre Einstellungen, solange die entsprechenden Header in der Serverantwort übergeben werden.

CIS unterstützt GZIP nur, wenn es mit Ihrem Ursprungsserver kommuniziert, und kann entsprechende Inhalte liefern:

  • Komprimiert mit GZIP oder Brotli
  • Nicht komprimiert

CIS der Reverse Proxy kann zwischen komprimierten und unkomprimierten Formaten konvertieren. So kann er beispielsweise GZIP-komprimierte Inhalte von Ihrem Ursprung abrufen und sie unkomprimiert an die Clients weitergeben. Dieser Vorgang erfolgt unabhängig von der Zwischenspeicherung.

CIS entfernt die Kopfzeile Accept-Encoding und ignoriert ihren Wert.

Komprimierte Inhaltstypen

Neben der Bereitstellung veralteter Inhalte und der Minimierung von CSS, JS und HTML komprimiert CIS Antworten mit GZIP oder Brotli für kompatible Browser. CIS gibt GZIP- oder Brotli-kodierte Antworten an kompatible Clients und Browser für die folgenden Inhaltstypen zurück:

text/html
text/richtext
text/plain
text/css
text/x-script
text/x-component
text/x-java-source
text/x-markdown
application/javascript
application/x-javascript
text/javascript
text/js
image/x-icon
image/vnd.microsoft.icon
application/x-perl
application/x-httpd-cgi
text/xml
application/xml
application/xml+rss
application/vnd.api+json
application/x-protobuf
application/json
multipart/bag
multipart/mixed
application/xhtml+xml
font/ttf
font/otf
font/x-woff
image/svg+xml
application/vnd.ms-fontobject
application/ttf
application/x-ttf
application/otf
application/x-otf
application/truetype
application/opentype
application/x-opentype
application/font-woff
application/eot
application/font
application/font-sfnt
application/wasm
application/javascript-binast
application/manifest+json
application/ld+json

Wenn Sie nicht möchten, dass eine bestimmte Antwort von Ihrem Ursprung kodiert wird, können Sie cache-control: no-transform setzen, um die Kodierung auf Ihrem Ursprungs-Webserver zu deaktivieren.

Aktivierung der Brotli-Kompression

Um die Brotli-Komprimierung zu aktivieren, gehen Sie folgendermaßen vor:

  1. Melden Sie sich bei Ihrem CIS Konto an.
  2. Wählen Sie die entsprechende Domäne aus.
  3. Klicken Sie auf die Registerkarte Leistung.
  4. Klicken Sie auf die Registerkarte Erweitert.
  5. Schalten Sie den Brotli-Schalter auf On um.

Minimalisierung für HTML, JavaScript, und CSS

CIS verwendet Minify Web Content, um alle unnötigen Zeichen aus HTML-, JavaScript- und CSS-Dateien zu entfernen, ohne deren Funktionalität zu beeinträchtigen.

  • CSS-und JavaScript-Kompression funktioniert nur bei im Cache gespeicherten CSS-und JS-Dateien.
  • Nachdem CIS einen Cache-HIT für die Datei zurückgegeben hat, wird sie in verkleinerter Form an die Browser zurückgegeben, so dass CIS ein vollständiges Verkleinerungsergebnis liefern kann.
  • Leeren Sie den Cache von CIS, um die Minification-Änderungen anzuwenden.

Komprimierung für die Optimierung der Bildgröße

CIS optimiert Bilder, die in seinem Edge-Netzwerk zwischengespeichert werden, indem es Metadaten entfernt und entweder verlustbehaftete oder verlustfreie Komprimierung anwendet, um die Bereitstellung zu beschleunigen. Bilder außerhalb der Website sind nicht optimiert.

Die Komprimierung zur Optimierung der Bildgröße ist nur als Seitenregel in der Konsole verfügbar. Die Einstellung auf Domänenebene ist in der Befehlszeilenschnittstelle (CLI) verfügbar.

Komprimierungsoptionen für die Optimierung der Bildgröße

In den folgenden Abschnitten werden die Komprimierungsoptionen für die Optimierung der Bildgröße beschrieben.

Verlustfrei

  • Entfernt die meisten Metadaten (z. B. EXIF-Daten).
  • Behält alle visuellen Details bei.
  • Die dekomprimierte Ausgabe entspricht dem Originalbild.

Verlustbehaftet

  • Entfernt Metadaten und reduziert die Bildgröße um etwa 15 %.
  • Einige Originaldaten gehen dauerhaft verloren.
  • Bei PNGs sind die Ergebnisse praktisch die gleichen wie bei verlustfreien Dateien.

Die Modi "Lossless" und "Lossy" versuchen, so viele Metadaten wie möglich zu entfernen, aber eine vollständige Entfernung ist aufgrund von Faktoren wie der Zwischenspeicherung möglicherweise nicht möglich.

WebP

  • WebP bietet eine hervorragende Kompression:
    • Ungefähr 26 % kleiner als PNG (verlustfrei)
    • 25-34% kleiner als JPEG (verlustbehaftet)
  • CIS erstellt und zwischenspeichert WebP Versionen.
  • WebP wird nur bedient, wenn:
    • Der Accept Header des Browsers enthält WebP.
    • Das komprimierte Bild ist deutlich kleiner als die verlustbehaftete oder verlustfreie Version.

Unterstützte Accept Kopfzeile Beispiel:

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Derzeit wird WebP nur in Firefox, Google Chrome und Opera-Browsern unterstützt.

Deaktivieren Sie WebP in Ihrem Ursprungsland, um Caching-Probleme mit Browsern zu vermeiden, die WebP nicht unterstützen.

Überprüfen, ob die Bildgrößenoptimierung aktiv ist

Aktivieren Sie die Optimierung der Bildgröße mithilfe einer Seitenregel oder CLI-Domäneneinstellungen.

CIS fügt die folgenden Kopfzeilen zu optimierten Bildern hinzu:

cf-bgj: imgq:85

cf-polished: qual=85, origFmt=jpeg, origSize=95005

cf-cache-status: HIT

Die Kopfzeile cf-bgj bestätigt, dass CIS die Bildgrößenoptimierung durchgeführt hat, und gibt die Einstellung für die Bildqualität zurück (imgq). Der cf-polished Header stellt den Status der Bildgrößenoptimierung dar und gibt die Einstellung der Bildqualität (qual) und die Originalgröße (origSize) zurück. cf-cache-status bestätigt, dass das Bild zwischengespeichert wurde und die Bildgrößenoptimierung angewendet werden kann.

WebP die Konvertierung verändert das Bild nicht URL. Der Header Content-Type HTTP gibt dem Browser das ursprüngliche Format eines Bildes an.

Häufige Cf-Polished-Status

Die folgende Tabelle enthält häufige Cf-Polished-Status sowie Abhilfen, zur Behebung dieser Fehler. Wenn kein Cf-Polished-Header zurückgegeben wird, versuchen Sie, das Bild mit Single-File-Cache Purge zu bereinigen.

Häufige Cf-Polished-Status
Status Definition Empfehlung
input_too_large Das Bild ist zu groß oder zu komplex für die Verarbeitung und benötigt eine niedrigere Auflösung. Verwenden Sie PNG- oder JPEG-Bilder mit einer Größe von weniger als 1.000 Pixeln und 10 MB.
not_compressed oder not_needed Das Bild wurde auf dem Ursprungsserver vollständig optimiert und es wurde keine Komprimierung vorgenommen.
webp_bigger Polish hat versucht, das Bild in WebP, zu konvertieren, aber das Bild wurde entweder auf dem Ursprungsserver optimiert, mit einer niedrigen Qualitätseinstellung erstellt oder beides. Da die Version WebP nicht existiert, wird der Status auf die PNG- oder JPEG-Version der Antwort gesetzt.
cannot_optimize oder internal_error Das Bild ist auf dem Ursprungsserver beschädigt oder unvollständig. Laden Sie eine neue Version des Bildes auf den Ursprungsserver hoch.
format_not_supported Das Bildformat wird nicht unterstützt (z. B. BMP, TIFF), der Ursprungsserver verwendet eine zusätzliche Optimierungssoftware, die mit Polnisch nicht kompatibel ist, oder beides. Versuchen Sie, das Eingabebild in ein webkompatibles Format (z. B. PNG, JPEG) zu konvertieren oder zusätzliche Optimierungssoftware auf dem Ursprungsserver zu deaktivieren, oder beides.
vary_header_present Der ursprüngliche Webserver hat einen Vary Header mit einem anderen Wert als accept-encoding gesendet. Wenn der Ursprungs-Web-Server versucht, WebP zu unterstützen, inaktivieren Sie WebP auf dem Ursprungs-Web-Server, und lassen Sie Polish die WebP-Konvertierung durchführen.

Die Optimierung funktioniert auch, wenn accept-encoding nicht der einzige Wert in der Kopfzeile von Vary ist.