Concetti della memorizzazione nella cache
Questo documento contiene alcuni concetti e definizioni relativi alla cache e al suo impatto sulla distribuzione IBM Cloud® Internet Services.
Cosa è la memorizzazione nella cache?
La memorizzazione nella cache è il processo di archiviazione dei file sui server edge, che viene eseguito per migliorare il tempo di risposta per fornire tali file ai clienti. Archiviando i file più vicini ai clienti, è possibile ridurre il tempo necessario ai dati per attraversare la rete, che comunemente viene chiamato latenza.
I file nella cache hanno un tempo di scadenza specificato, chiamato Time-to-live (TTL), dopo il quale vengono eliminati dalla cache. È anche possibile eliminare manualmente i file dalla cache. Dopo aver rimosso i file dalla cache, CIS ritorna al suo server di origine per ricaricare i tuoi file e aggiornare la cache con le ultime versioni.
Una spiegazione più profonda delle impostazioni della cache e delle relative opzioni di caching si trova nella sezione Caching and Page Rules.
Contenuto in cache
Per impostazione predefinita, CIS mette in cache i file statici, che includono molti tipi di immagini e file di testo (non HTML). La cache include solo i file dai tuoi siti web e non le risorse di terze parti dai siti di social networking, ad esempio. Inoltre, CIS attualmente non memorizza nella cache per tipo MIME.
Caching HTML
CIS non memorizza nella cache i file HTML per impostazione predefinita perché non sono considerati statici. Tuttavia, se l'HTML statico può essere chiaramente distinto dall'HTML dinamico, è possibile memorizzare nella cache i file HTML utilizzando la funzione Regole della pagina.
Comportamento di caching predefinito
CIS memorizza nella cache il contenuto statico in base alla provenienza dei tuoi visitatori, al data center CIS che i tuoi visitatori raggiungono e alla frequenza con cui i visitatori richiedono una risorsa nel data center specifico.
CIS memorizza nella cache solo le risorse nel data center CIS che serve la richiesta e non memorizza nella cache le seguenti risorse:
- Risorse esterne o di terze parti (ad esempio, Facebook e Flickr)
- Contenuto ospitato su record DNS non proxy
Per impostazione predefinita, CIS rispetta le intestazioni cache del server web nel seguente modo a meno che non sovrascritti da una regola di pagina TTL della cache di bordo:
- Se l'intestazione
cache-control
è impostata aprivate
,no-store
,no-cache
, omax-age=0
, o se un cookie è presente nella risposta, CIS non mette in cache la risorsa. - Altrimenti, se
cache-control
è impostato supublic
e ilmax-age
è maggiore di 0 o se l'intestazioneexpires
è una data in futuro, CIS cede la risorsa. - Se entrambe le
max-age
e un'intestazioneexpires
sono impostate,max-age
viene utilizzato.
Per impostazione predefinita, CIS memorizza nella cache determinati codici di risposta HTTP con il seguente TTL della cache edge quando no cache-control
direttiva o expires
sono presenti intestazioni di risposta:
Codice di risposta | TTL |
---|---|
200, 206, 301 | 120 m |
302, 303 | 20 m |
404, 410 | 3 m |
403 | 1 m |
CIS fornisce diverse opzioni di personalizzazione della cache:
- Specifica il comportamento della cache per i singoli URL utilizzando le regole della pagina CIS
- Personalizzare la caching con CIS Funzioni edge o l'API
- Modifica il livello di memorizzazione nella cache, il TTL della cache e altro ancora tramite la CLI CIS
La dimensione massima del file che CIS memorizza nella cache è 512 MB per i clienti Trial e Standard Next e 5 GB per i clienti Enterprise. I clienti enterprise possono aprire un caso di supporto per richiedere il caching di file di dimensioni maggiori.
Estensioni file memorizzate per impostazione predefinita
CIS utilizza le estensioni file al contenuto della cache. Le seguenti estensioni file vengono memorizzate automaticamente:
bmp
class
css
csv
doc
docx
ejs
eot
eps
gif
ico
jar
jpg
js
mid
midi
otf
pdf
pict
pls
png
ppt
pptx
ps
svg
svgz
swf
tif
tiff
ttf
webp
woff
woff2
xls
xlsx
CIS non cache per tipo MIME e non cache HTML per impostazione predefinita. CIS fa cache di un sito web robots.txt
. È possibile memorizzare nella cache più contenuto creando regole di pagina.
Comprensione CIS risposte cache
L'output dell'intestazione CF-Cache-Status
mostra se una risorsa è memorizzata nella cache.
Codice di risposta | Definizione |
---|---|
riscontro | La risorsa è stata trovata nella cache CIS. |
SIGNORINA | La risorsa non è stata trovata nella cache CIS ed è stata servita dal server web di origine. |
SCADUTA | La risorsa è stata trovata nella cache ma è scaduta ed è stata fornita dal server Web di origine. |
Non aggiornato | La risorsa è stata servita dalla cache ma è scaduta. CIS non è riuscito a contattare l'origine per richiamare la risorsa aggiornata. |
Ignora | Il server di origine ha indicato a CIS di ignorare la cache utilizzando un'intestazione cache-control impostata su no-cache , private o max-age=0 . BYPASS viene restituito quando si abilita
il controllo cache di origine. CIS imposta anche BYPASS quando il server web di origine invia cookie nell'intestazione della risposta. |
RICONVALIDATO | La risorsa è servita dalla cache ma è sterrata. La risorsa è stata riconvalidata da un'intestazione If-Modified-Since o da un If-None-Match header . |
IN FASE DI AGGIORNAMENTO | La risorsa è stata servita dalla cache ma è scaduta. La risorsa è in fase di aggiornamento dal server Web di origine. AGGIORNAMENTO è generalmente visualizzato solo per le risorse memorizzate nella cache più comuni. |
DINAMICO | La risorsa non è stata memorizzata per impostazione predefinita e la tua corrente CIS la configurazione caching non docente CIS per memorizzare nella cache la risorsa. La risorsa è stata invece richiesta dal server web di origine. Utilizzare le regole della pagina per implementare opzioni di caching personalizzate. |
Utilizzo dell'ordinamento delle stringhe di
Solo Enterprise CIS tratta gli URL che hanno stringhe di query in ordini diversi come file separati nella cache. Ciò significa che se un utente richiede:
/video/123456?title=0&byline=0&portrait=0&color=987654
E un altro utente richiede:
/video/123456?byline=0&color=987654&portrait=0&title=0
CIS torna all'origine, anche se abbiamo il file nella nostra cache.
L'ordinamento delle stringhe di query ordina le stringhe di query prima che raggiungano la cache, con un conseguente aumento del tasso di accesso alla cache. Attivare l'ordinamento delle stringhe di query utilizzando la levetta nella pagina Caching.
Servire il contenuto sterrato
La funzione di servire i contenuti obsoleti consente di mantenere online una versione limitata del sito in caso di guasto del server. Anche se il contenuto scade, CIS continua a servire il contenuto in cache agli utenti quando i server di origine sono offline.