Le cache archiviano le copie dei file per distribuirle più rapidamente laddove sono necessarie.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Cos'è un server di origine?
Time-to-live (TTL)
Prestazioni delle CDN
Round-Trip Time (RTT)
Cos'è una CDN?
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
Il caching è il processo di archiviazione di copie di file in una cache, o posizione di archiviazione temporanea, in modo che sia possibile accedervi più rapidamente. Tecnicamente, una cache è qualsiasi posizione di archiviazione temporanea per copie di file o dati, ma il termine viene spesso utilizzato in riferimento alle tecnologie Internet. I browser Web memorizzano nella cache file HTML, JavaScript e immagini per caricare i siti Web più rapidamente, mentre i server DNS memorizzano nella cache i record DNS per ricerche più rapide e i server della CDN memorizzano nella cache i contenuti per ridurre la latenza.
Per capire come funzionano le cache, prendiamo in considerazione i magazzini reali di cibo e altre provviste. Quando l'esploratore Roald Amundsen fece il suo viaggio di ritorno dal suo viaggio al Polo Sud nel 1912, lui e i suoi uomini si nutrivano delle cache di cibo che avevano immagazzinato lungo il percorso. Questo è stato molto più efficiente che aspettare che i rifornimenti venissero consegnati dal loro campo base mentre viaggiavano. Le cache su Internet hanno uno scopo simile; memorizzano temporaneamente le "forniture" o i contenuti necessari agli utenti per compiere il loro viaggio attraverso il Web.
Ogni volta che un utente carica una pagina Web, il suo browser deve scaricare una grande quantità di dati per poterla visualizzare. Per ridurre i tempi di caricamento della pagina, i browser memorizzano nella cache la maggior parte del contenuto che appare sulla pagina Web, salvandone una copia sul disco rigido del dispositivo. In questo modo, la volta successiva che l'utente carica la pagina, la maggior parte del contenuto sarà già memorizzata in locale e la pagina verrà caricata molto più rapidamente.
I browser archiviano questi file fino alla scadenza del loro Time To Live (TTL) o fino a quando la cache del disco rigido non è piena. Il TTL indica per quanto tempo il contenuto deve essere memorizzato nella cache. Gli utenti possono anche svuotare la cache del browser, se lo desiderano.
Una volta svuotata la cache del browser, ogni pagina Web caricata verrà caricata come se fosse la prima volta che l'utente la visita. Se qualcosa è stato caricato in modo errato la prima volta ed è stato memorizzato nella cache, svuotare la cache può consentirne il caricamento corretto. Tuttavia, anche svuotare la cache del browser può rallentare temporaneamente i tempi di caricamento delle pagine.
Una CDN, o rete di distribuzione di contenuti, memorizza nella cache i contenuti (come immagini, video o pagine Web) nei server proxy che si trovano più vicini agli utenti finali rispetto ai server di origine. Un server proxy è un server che riceve richieste dai client e le passa ad altri server. Poiché i server sono più vicini all'utente che effettua la richiesta, una CDN è in grado di fornire contenuti più rapidamente.
Immagina una CDN come una catena di supermercati: invece di recarsi direttamente nelle fattorie dove viene coltivato il cibo, che potrebbero trovarsi a centinaia di chilometri di distanza, i consumatori si recano al supermercato locale, che richiede comunque uno spostamento ma è molto più vicino. Poiché i supermercati tengono in magazzino prodotti alimentari provenienti da fattorie lontane, fare la spesa richiede pochi minuti anziché giorni. Allo stesso modo, le cache delle CDN "immagazzinano" i contenuti che appaiono su Internet in modo che le pagine Web vengano caricate molto più rapidamente.
Quando un utente richiede un contenuto da un sito Web tramite una CDN, la CDN recupera tale contenuto da un server di origine e ne salva una copia per richieste future. Il contenuto memorizzato nella cache rimane nella cache della CDN finché gli utenti continuano a richiederlo.
Un riscontro della cache si verifica quando un dispositivo client effettua una richiesta di contenuto alla cache e tale contenuto è salvato nella cache. Un mancato riscontro della cache si verifica quando la cache non ha il contenuto richiesto.
Un riscontro della cache significa che il contenuto potrà essere caricato molto più rapidamente, poiché la CDN può consegnarlo immediatamente all'utente finale. Nel caso di un mancato riscontro della cache, un server della CDN inoltrerà la richiesta al server di origine, quindi memorizzerà nella cache il contenuto non appena il server di origine avrà risposto, in modo che le richieste successive si traducano in un riscontro.
I server di memorizzazione della CDN nella cache si trovano in datacenter sparsi in tutto il mondo. Cloudflare dispone di server della CDN in 335 città sparse in tutto il mondo per essere il più vicino possibile agli utenti finali che accedono ai contenuti. Una posizione in cui sono presenti i server della CDN è detta anche datacenter.
Quando i siti Web rispondono ai server della CDN con il contenuto richiesto, allegano anche il TTL del contenuto, comunicando ai server per quanto tempo dovrà conservarlo. Il Time To Live (TTL) viene archiviato in una parte della risposta chiamata intestazione HTTP, e specifica per quanti secondi, minuti o ore il contenuto verrà memorizzato nella cache. Quando il Time To Live (TTL) scade, la cache rimuove il contenuto. Alcune CDN eliminano anche i file dalla cache in anticipo se il contenuto non viene richiesto per un certo periodo di tempo o se un cliente della CDN elimina manualmente determinati contenuti.
Il caching DNS avviene sui server DNS. I server memorizzano le ricerche DNS recenti nella loro cache in modo che non debbano interrogare i nameserver e possano rispondere immediatamente con l'indirizzo IP di un dominio.
I motori di ricerca possono memorizzare nella cache le pagine Web che compaiono frequentemente nei risultati di ricerca per rispondere alle query degli utenti anche se il sito Web a cui stanno provando ad accedere è temporaneamente inattivo o non è in grado di rispondere.
Cloudflare offre una CDN con 335 PoP distribuiti a livello internazionale. Cloudflare offre servizi di memorizzazione della CDN nella cache gratuiti, mentre i clienti della CDN a pagamento possono personalizzare il modo in cui i loro contenuti vengono memorizzati nella cache. La rete è Anycast, il che significa che lo stesso contenuto può essere distribuito da uno qualsiasi di questi datacenter. Un utente a Londra e un utente a Sydney possono visualizzare lo stesso contenuto caricato da server della CDN a pochi chilometri di distanza.