IBM Cloud Docs
Compressione e ottimizzazione

Compressione e ottimizzazione

IBM Cloud® Internet Services utilizza la compressione GZIP e Brotli per vari tipi di contenuti per migliorare i tempi di caricamento delle pagine. La compressione viene applicata in base al browser User-Agent.

Se si sta già usando, CIS accetta le impostazioni, purché le intestazioni appropriate siano passate nella risposta del server.

CIS supporta solo la comunicazione con il server di origine e può fornire contenuti che lo sono:

  • Compresso utilizzando o Brotli
  • Non compresso

CIS il reverse proxy può convertire tra formati compressi e non compressi. Ad esempio, può recuperare contenuti compressi GZIP dall'origine e servirli non compressi ai client. Questo processo avviene indipendentemente dalla cache.

CIS rimuove l'intestazione Accept-Encoding e non la rispetta.

Tipi di contenuto compresso

Oltre a servire contenuti obsoleti e a minificare CSS, JS e HTML, CIS comprime le risposte con GZIP o Brotli per i browser compatibili. CIS restituisce risposte codificate GZIP o Brotli a client e browser compatibili per i seguenti tipi di contenuto:

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

Se non si vuole che una particolare risposta dell'origine sia codificata, si può impostare cache-control: no-transform per disabilitare la codifica sul server web di origine.

Abilitazione della compressione Brotli

  1. Accedere al proprio account CIS.
  2. Scegli il dominio appropriato.
  3. Fare clic sulla scheda Performance.
  4. Fare clic sulla scheda avanzata.
  5. Attivare l'interruttore Brotli su On.

Minificazione per HTML, JavaScript, e CSS

CIS utilizza Minify web content per rimuovere tutti i caratteri non necessari dai file HTML, JavaScript e CSS, senza influenzarne la funzionalità.

  • La minificazione CSS e JavaScript opera solo sui file CSS e JS memorizzati nella cache.
  • Dopo che CIS restituisce un HIT di cache per il file, questo viene restituito ai browser in forma minificata, il che consente a CIS di fornire un risultato di minificazione completo.
  • Per applicare le modifiche alla minificazione, eliminare la cache di CIS.

Compressione dell'ottimizzazione delle dimensioni dell'immagine

CIS ottimizza le immagini memorizzate nella sua rete periferica eliminando i metadati e applicando la compressione lossy o lossless per accelerare la consegna. Le immagini fuori dal sito non sono ottimizzate.

La compressione per l'ottimizzazione delle dimensioni dell'immagine è disponibile solo come regola di pagina nella console. L'impostazione del livello del dominio è disponibile nella CLI.

Opzioni di compressione dell'ottimizzazione delle dimensioni dell'immagine

Le seguenti sezioni dettagliano le opzioni di compressione dell'ottimizzazione delle dimensioni dell'immagine.

Senza perdita

  • Elimina la maggior parte dei metadati (ad esempio, i dati EXIF).
  • Conserva tutti i dettagli visivi.
  • L'output decompresso corrisponde all'immagine originale.

Con perdita

  • Elimina i metadati e riduce le dimensioni dell'immagine di circa il 15%.
  • Alcuni dati originali vengono persi in modo permanente.
  • Per i PNG, i risultati sono effettivamente gli stessi di quelli lossless.

Con le modalità Lossless e Lossy si cerca di rimuovere la maggior quantità possibile di metadati, ma la rimozione completa non è garantita a causa di fattori come la cache.

WebP

  • WebP fornisce una compressione superiore:
    • Circa il 26% più piccolo di PNG (senza perdita)
    • 25-34% in meno rispetto a JPEG (lossy)
  • CIS crea e memorizza le versioni di WebP.
  • WebP è servito solo se:
    • L'intestazione Accept del browser include WebP.
    • L'immagine compressa è significativamente più piccola della versione lossy o lossless.

Esempio di intestazione supportata Accept :

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

Attualmente, WebP è supportato solo nei browser Firefox, Google Chromee Opera.

Disabilitare WebP all'origine per evitare problemi di caching con i browser che non supportano WebP.

Verifica che l'ottimizzazione delle dimensioni delle immagini sia attiva

Attiva l'ottimizzazione della dimensione dell'immagine utilizzando una regola della pagina o le impostazioni del dominio CLI.

CIS aggiunge le seguenti intestazioni alle immagini ottimizzate:

cf-bgj: imgq:85

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

cf-cache-status: HIT

L'intestazione cf-bgj conferma che CIS ha applicato l'ottimizzazione delle dimensioni dell'immagine e restituisce l'impostazione della qualità dell'immagine (imgq). L'intestazione cf-polished rappresenta lo stato di ottimizzazione delle dimensioni dell'immagine e restituisce l'impostazione della qualità dell'immagine (qual) e le dimensioni originali (origSize). cf-cache-status conferma che l'immagine è stata memorizzata nella cache e che è possibile applicare l'ottimizzazione delle dimensioni dell'immagine.

WebP la conversione non cambia l'immagine URL. L'header Content-Type HTTP racconta al browser il formato originale di un'immagine.

Comune Cf - Stati Uniti

La seguente tabella elenca i comuni di Cf - Polito e le modalità di risoluzione dei problemi. Se non viene restituita alcuna intestazione Cf - Poled, provare a utilizzare l'eliminazione della cache di un singolo file per eliminare l'immagine.

Stati comuni di Cf-Polished
Condizione Definizione Suggerimento
input_too_large L'immagine è troppo grande o complessa da elaborare e necessita di una risoluzione inferiore. Utilizzare immagini PNG o JPEG di dimensioni inferiori a 1.000 px e 10 MB.
not_compresso o not_necessario L'immagine è stata completamente ottimizzata sul server di origine e non è stata applicata alcuna compressione.
webp_bigger Il polacco ha tentato di convertirsi a WebP, ma l'immagine è stata ottimizzata sul server di origine e/o è stata creata con un'impostazione di bassa qualità. Poiché la versione WebP non esiste, lo stato viene impostato sulla versione PNG o JPEG della risposta.
cannot_optimize oppure internal_error L'immagine è danneggiata o incompleta sul server di origine. Carica una nuova versione dell'immagine al server di origine.
format_not_supported Il formato dell'immagine non è supportato (ad esempio, BMP, TIFF) e/o il server di origine utilizza un software di ottimizzazione extra non compatibile con Polish. Provare a convertire l'immagine di input in un formato compatibile con il Web (ad esempio, PNG, JPEG) e / o disabilitare qualsiasi software di ottimizzazione aggiuntivo sul server di origine.
vary_header_present Il server web di origine ha inviato un'intestazione Vary con un valore diverso da accept-encoding. Se il server Web di origine sta tentando di supportare WebP, disattivare WebP sul server web di origine e lascia che il polacco esegua il file WebP conversione.

L'ottimizzazione funziona ancora quando accept-encoding non è l'unico valore dell'intestazione Vary.