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
- Accedere al proprio account CIS.
- Scegli il dominio appropriato.
- Fare clic sulla scheda Performance.
- Fare clic sulla scheda avanzata.
- 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.
- L'intestazione
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.
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
.