Quando accedi a una pagina web, provochi una reazione a catena sulla rete:
- Fai una richiesta tramite un url
- Se il sito a cui vuoi accedere è un sito statico, scarichi tutte le risorse statiche (immagini, codice, file, ecc.) sul tuo computer, tablet o cellulare.
- Se il sito a cui vuoi accedere è un sito dinamico , il server interrogherà un database, compilerà il codice e lo rispedirà al tuo browser, che scaricherà le corrispondenti risorse statiche (immagini, codice, file, ecc.)
- Nel secondo caso, il server deve inoltrare tutti i dati della pagina per ogni richiesta da parte di un utente Internet: consuma banda e questo può richiedere più tempo se vengono effettuate contemporaneamente un numero elevato di richieste.
- Nel caso n.3, il server non deve solo inviare i dati, ma deve anche interrogare il database e compilare il codice. C’è poi il consumo di banda, processore e RAM.
Definire una cache web
Una cache web è una forma di buffer che memorizza tutta o parte di una pagina web per un periodo di tempo specificato. Quando il navigatore desidera accedere a questa pagina, a seconda del sistema di caching in essere, richiede direttamente il server solo parzialmente, il che limita il consumo di risorse del server, e rende la navigazione complessiva sul sito e il suo tempo di caricamento più veloce.
Cache lato browser
Il sistema di cache web più semplice è la cache del browser.
Quando accedi a una pagina web per la prima volta, il browser potrebbe memorizzare risorse statiche come immagini o file CSS. In caso di successiva visita alla stessa pagina, il browser utilizzerà le immagini e i CSS precedentemente memorizzati per visualizzare la pagina, e non richiederà tali dati al server. È il server che dovrà indicare la durata di questi dati. Lo svantaggio di questo sistema è che a volte è possibile che il sito sia cambiato e che il browser stia ancora memorizzando nella cache le vecchie risorse. Devi quindi svuotare la cache del browser per vedere il sito così com’è.
Cache a livello di server
Nel campo dello sviluppo web, per CMS, esistono sistemi di cache web di diverso tipo. La maggior parte trasforma le pagine dinamiche in pagine statiche: memorizzano il rendering di una determinata pagina e quando un utente Internet richiede questa pagina, il server restituisce la pagina già compilata come pagina statica (non c’è più chiamata al database). Ciò consente di risparmiare risorse del server. Questo approccio è piuttosto razionale: la maggior parte dei webmaster che utilizzano siti dinamici in realtà servono pagine che si evolvono molto poco e che possono essere considerate pseudo-statiche. Altri approcci più sofisticati consentono la memorizzazione nella cache del database. Tuttavia, la gestione di questo tipo di cache richiede competenze specializzate per essere implementata in modo ottimale,
Cache con un proxy
L’ultimo approccio consiste nell’utilizzare una risorsa di elaborazione dedicata per la memorizzazione nella cache dei contenuti. Utilizziamo quindi un proxy, che fungerà da intermediario tra il client e il server. Esistono molte soluzioni per la memorizzazione nella cache tramite un proxy. Questi includono, ad esempio, Squid e Varnish .