Cache
La cache è il processo di memorizzazione dei file sui server periferici per migliorare i tempi di risposta quando vengono serviti ai clienti. Memorizzando i file più vicini agli utenti, la cache riduce il tempo necessario ai dati per viaggiare attraverso la rete, comunemente noto come latenza.
Per impostazione predefinita, CIS memorizza nella cache i file statici, che comprendono molti tipi di immagini e file di testo (non HTML). La cache include solo i file dei vostri siti web e non comprende le risorse di terzi, come quelle dei siti di social network. Attualmente, CIS non esegue la cache in base al tipo di MIME.
CIS non memorizza nella cache i file HTML per impostazione predefinita, perché sono generalmente considerati dinamici. Tuttavia, se l'HTML statico può essere chiaramente distinto dall'HTML dinamico, è possibile memorizzare nella cache i file HTML utilizzando le regole di pagina.
I file nella cache hanno un tempo di scadenza specificato, chiamato Time-to-Live (TTL), dopo il quale vengono eliminati dalla cache. È inoltre possibile eliminare manualmente i file dalla cache in qualsiasi momento. Dopo che i file sono stati eliminati, CIS torna al server di origine per ricaricare i file e aggiornare la cache con le versioni più recenti.
Per informazioni dettagliate sulle impostazioni e le opzioni della cache, vedere Uso delle regole di pagina con la cache.
Comportamento di caching predefinito
CIS memorizza nella cache i contenuti statici in base alla posizione dei visitatori, al data center CIS a cui si collegano e alla frequenza con cui la risorsa viene richiesta da quel data center.
La cache avviene solo all'interno del centro dati CIS che serve la richiesta. Le seguenti risorse non vengono memorizzate nella cache da CIS:
- Risorse esterne o di terzi
- Contenuti ospitati su record DNS non proxy
Per impostazione predefinita, CIS rispetta le intestazioni della cache del server web di origine, a meno che una regola di pagina edge cache TTL non le sovrascriva:
- CIS non mette in cache le risorse se l'intestazione
cache-control
è impostata suprivate
,no-store
,no-cache
, omax-age=0
, o se nella risposta è presente un cookie. - CIS mette in cache le risorse se
cache-control
èpublic
con unmax-age
maggiore di 0 o se l'intestazione expires specifica una data futura. - Quando sono impostate entrambe le intestazioni
max-age
eexpires
,max-age
ha la precedenza.
Quando non sono presenti né una direttiva cache-control
né un'intestazione expires
, CIS memorizza nella cache alcuni codici di risposta HTTP con il seguente TTL predefinito:
Codice di risposta | TTL |
---|---|
200, 206, 301 | 120 m |
302, 303 | 20 m |
404, 410 | 3 m |
403 | 1 m |
CIS fornisce diverse opzioni per personalizzare la cache:
- Impostare il comportamento della cache per i singoli URL utilizzando le regole di pagina di CIS.
- Utilizzare le funzioni edge di CIS o l'API per personalizzare la cache.
- Regola i livelli di memorizzazione nella cache, TTL e altro tramite la CLI CIS.
La dimensione massima dei file che CIS memorizza nella cache è di 512 MB per i clienti Trial e Standard Next e di 5 GB per i clienti Enterprise. I clienti Enterprise possono richiedere la memorizzazione nella cache di file più grandi aprendo un caso di assistenza.
Estensioni file memorizzate per impostazione predefinita
CIS utilizza le estensioni dei file per memorizzare nella cache i contenuti. Le seguenti estensioni file vengono memorizzate automaticamente:
Estensioni file | |||
---|---|---|---|
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 memorizza nella cache i contenuti in base al tipo MIME e, per impostazione predefinita, non memorizza le pagine HTML. Tuttavia, il file robots.txt
del sito web viene memorizzato automaticamente nella cache. Per memorizzare
nella cache contenuti aggiuntivi, come le pagine HTML, è possibile impostare regole di pagina personalizzate per controllare ciò che viene memorizzato nella cache.
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.
Capire le risposte della cache di CIS
L'output dell'intestazione CF-Cache-Status
mostra se una risorsa è memorizzata nella cache.
Codice di risposta | Definizione |
---|---|
HIT |
La risorsa è stata trovata nella cache di CIS. |
MISS |
La risorsa non è stata trovata nella cache di CIS ed è stata servita dal server web di origine. |
EXPIRED |
La risorsa è stata trovata nella cache ma è scaduta ed è stata fornita dal server Web di origine. |
STALE |
La risorsa è stata servita dalla cache, ma è scaduta. CIS non è riuscito a contattare l'origine per recuperare la risorsa aggiornata. |
BYPASS |
Il server di origine ha istruito CIS a bypassare la cache utilizzando un'intestazione cache-control impostata su no-cache , private , o max-age=0 . BYPASS viene restituito quando
si abilita l'origine cache-control . CIS imposta anche BYPASS quando il server web di origine invia i cookie nell'intestazione della risposta. |
REVALIDATED |
La risorsa viene servita dalla cache, ma è stantia. La risorsa è stata riconvalidata da un'intestazione If-Modified-Since o da un'intestazione If-None-Match . |
UPDATING |
La risorsa è stata servita dalla cache, ma è scaduta. La risorsa è in fase di aggiornamento da parte del server web di origine. UPDATING è tipicamente visto solo per le risorse in cache più popolari. |
DYNAMIC |
La risorsa non è stata memorizzata nella cache per impostazione predefinita e la configurazione attuale della cache di CIS non indica a CIS di memorizzare la risorsa nella cache. 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 con stringhe di query in ordini diversi come file separati nella cache. Ad esempio, se un utente richiede:
/video/123456?title=0&byline=0&portrait=0&color=987654
e un'altra richiesta:
/video/123456?byline=0&color=987654&portrait=0&title=0
CIS recupera nuovamente il file dall'origine, anche se è già nella cache.
La funzione di ordinamento delle stringhe di query ordina le stringhe di query "prima" della cache, aumentando i tassi di risposta della cache. È possibile attivare l'ordinamento delle stringhe di query utilizzando la levetta nella pagina Caching.