IBM Cloud Docs
Komprimierungs- und Optimierungskonzepte

Komprimierungs- und Optimierungskonzepte

IBM Cloud® Internet Services wendet die Komprimierung gzip und brotli auf einige Inhaltstypen an. CIS komprimiert außerdem Elemente auf der Basis des Benutzeragenten des Browsers, um das Laden von Seiten zu beschleunigen.

Wenn Sie bereits gzip verwenden, akzeptiert CIS Ihre gzip Einstellungen, wenn Sie die Details in einem Header von Ihrem Webserver für die Dateien übergeben.

CIS unterstützt nur den Inhaltstyp gzip für Ihren Ursprungsserver und kann auch nur Inhalt bereitstellen, der mit gzip oder brotli komprimiert oder nicht komprimiert ist.

Der Reverse Proxy von CIS ist auch in der Lage, komprimierte in unkomprimierte Formate zu konvertieren, d. h., er kann Inhalte aus dem Ursprungsserver eines Kunden über gzipextrahieren und dann unkomprimiert an die Clients weitergeben (oder umgekehrt). Diese Umwandlung erfolgt unabhängig vom Caching.

Der Accept-Encoding-Header wird nicht berücksichtigt und wird entfernt.

Was komprimiert wird

CIS stellt nicht nur nicht aktuelle Inhalte bereit und komprimiert CSS, JS und HTML, um Ihre Website zu beschleunigen, CIS sondern bietet auch gzip und brotliKomprimierung, um Website-Betreiber zu unterstützten.

CIS gibt gzip oder brotli-codierte 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 die Kodierung deaktivieren, indem Sie cache-control: no-transform auf Ihrem Ursprungs-Webserver einstellen.

Aktivieren Sie Brotli-Komprimierung

  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 'Ein' um.

HTML-, JavaScript-und CSS-Komprimierungsfunktionen

CIS verwendet Webinhalte komprimieren , um alle unnötigen Zeichen aus HTML-, JavaScript-und CSS-Dateien zu entfernen, ohne die Funktionalität zu ändern.

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, erfolgt die Rückgabe an Browser in verkleinerter Form, was es CIS ermöglicht, ein vollständiges Kompressionsergebnis zu liefern. Wenn Sie die Kompression für CSS und JavaScript aktivieren oder inaktivieren müssen, löschen Sie den CIS-Cache, um den Effekt einer Kompression zu sehen.

Komprimierung für die Optimierung der Bildgröße

Die Optimierung der Bildgröße komprimiert Ressourcen, die im CIS Edge-Netzwerk zwischengespeichert werden, indem Metadaten entfernt und verlustbehaftete oder verlustfreie Komprimierung angewendet wird. Die Bildgrößenoptimierung beschleunigt Bild-Downloads, indem die Bildgröße reduziert wird. Die Optimierung der Bildgröße kann nicht die Ressourcen außerhalb der Website optimieren.

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

Die verlustfreie Option versucht, die meisten Metadaten (z.B. EXIF-Daten) zu entfernen, ändert aber nicht das Bilddetail. Ein verlustfreies Bild ist bei unkomprimierter Darstellung identisch mit dem Original.

Verlustbehaftet

Die verlustbehaftete Option versucht, die meisten Metadaten zu entfernen, und komprimiert Bilder um ungefähr 15 Prozent. Bei der unkomprimierten Ausführung gehen einige der redundanten Informationen des ursprünglichen Bilds verloren.

Die verlustbehaftete Option hat den gleichen Effekt wie die verlustfreie Option, wenn sie auf PNG ausgeführt wird.

Mit Lossless-und Lossy-Modi versucht CIS, so viele Metadaten wie möglich zu entfernen. Es gibt jedoch keine Garantie dafür, dass alle Metadaten entfernt werden, da sich andere Faktoren, wie z. B. der Cachingstatus, darauf auswirken können, welche Metadaten letztendlich in der Antwort gesendet werden.

WebP

WebP ist ein modernes Bildformat, das eine hervorragende verlustfreie und verlustbehaftete Komprimierung von Bildern ermöglicht. WebP verlustfreie Bilder sind um etwa 26 Prozent kleiner als PNGs, während verlustbehaftete Bilder 25 bis 34 Prozent kleiner sind als JPEGs.

Bei der Optimierung der Bildgröße wird eine WebP-Version des Bildes erstellt und zwischengespeichert. Das Bild wird dann an den Browser übermittelt, wenn der Accept-Header des Browsers WebP enthält und das komprimierte Bild deutlich kleiner als die verlustbehaftete oder verlustfreie Komprimierung ist.

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.

Um sicherzustellen, dass WebP nicht aus dem Cache an einen Browser gesendet wird, der WebP nicht unterstützt, deaktivieren Sie WebP auf Ihrem Ursprungs-Webserver, wenn Sie die Bildgrößenoptimierung verwenden.

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

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

Bei der Optimierung der Bildgröße werden die folgenden Header zu komprimierten Bildanfragen hinzugefügt:

cf-bgj: imgq:85

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

cf-cache-status: HIT

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

Bei der WebP-Konvertierung wird die Image-URL nicht geändert. 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 Eingangsbild ist zu groß oder zu komplex, um verarbeitet werden zu können, und erfordert eine niedrigere Auflösung. Verwenden Sie .png-oder .jpeg-Bilder, die kleiner als 1.000 px und 10 MB sind.
not_compressed oder not_needed Das Bild wurde auf dem Ursprungsserver vollständig optimiert und es wurde keine Komprimierung angewendet.
webp_bigger Polish hat versucht, in WebP, zu konvertieren, aber das Bild wurde auf dem Ursprungsserver optimiert und/oder mit einer niedrigen Qualitätseinstellung erstellt. Da die WebP-Version nicht vorhanden ist, wird der Status in der JPEG/PNG-Version der Antwort festgelegt.
cannot_optimize oder internal_error Das Eingangsbild ist auf dem Ursprungsserver beschädigt oder unvollständig. Laden Sie eine neue Version des Bildes auf den Ursprungsserver hoch.
format_not_supported Das Eingabebildformat wird nicht unterstützt (z. B. BMP, TIFF) und/oder der Ursprungsserver verwendet zusätzliche Optimierungssoftware, die nicht mit Polish kompatibel ist. Versuchen Sie, das Eingabebild in ein webfähiges Format (z. B. PNG, JPEG) zu konvertieren und/oder zusätzliche Optimierungssoftware auf dem Ursprungsserver zu deaktivieren.
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 der Bildgröße funktioniert auch dann, wenn accept-encoding nicht der einzige Header ist, der im Vary Header aufgeführt ist.