Cos’è la cache e come funziona?
Quando ti ho raccontato come scegliere il miglior hosting WordPress per il tuo progetto, ti ho accennato all’importanza della cache.
Ok lo so l’ho fatto solo sommariamente lo so.
Che fare? Semplice, eccomi ad approfondire l’argomento con l’obiettivo di aiutarti a rendere il tuo incredibilmente più veloce!
Se vuoi stare con il sito lento puoi ovviamente chiudere questa pagina anche ora 😀
Per comprendere appieno la definizione di cache, dobbiamo capire come funziona.
Quando un meccanismo di cache è in atto, aiuta a migliorare la velocità di consegna dei dati memorizzando una copia della risorsa richiesta e accedendo successivamente alla copia in cache invece che all’originale.
Per delineare meglio il processo completo, il seguente esempio può essere utilizzato per spiegare meglio come funziona la cache:
Ipotizziamo che venga fatta una richiesta di una pagina web per una risorsa, come https://www.example.com/css/style.css, dal server di origine.
In questo caso il browser controllerà prima la cache per vedere se la risorsa esiste già (nel caso di una pagina web, la cache potrebbe riguardare la cache del browser, CDN, web proxy, ecc.)
Se non c’è una copia del file richiesto memorizzata nella cache, questo risulterà in una cache miss e il file sarà recuperato dalla sua fonte originale.
Se invece il file è memorizzato nella cache, questo risulterà in una risposta di cache hit e la risorsa viene servita dalla cache.
Capisci la differenza? Niente multi-chiamate al server!
Una volta che il file è memorizzato nella cache, continuerà ad essere servito dalla cache fino alla sua scadenza o fino a quando la cache viene cancellata / eliminata.
Questo è il processo di base.
L’esempio ovviamente fa riferimento alla cache di una risorsa web ma lo stesso processo è più o meno utilizzato per tutti i tipi di meccanismi di cache.
Sapevi che alcuni hosting WordPress offrono strumenti semplici per la gestione automatica della cache? Ne ho scritto qui nel mio articolo sull’hosting wordpress gestito.
Benefici della cache
Dal punto di vista dell’utente, ci sono tre benefici principali delle cache.
Beneficio 1: Rende tutto più veloce.
Il beneficio chiave di una cache è che migliora le prestazioni del sistema. Memorizzando copie locali dei file del sito web, per esempio, il browser ha solo bisogno di scaricare quelle informazioni la prima volta che si visita, e può caricare i file locali nelle visite successive. Questa è non a caso una delle chiavi per un hosting veloce.
Beneficio 2: I dati vengono salvati.
Per aiutare a migliorare le prestazioni, le app memorizzano nella cache i dati usati di recente e frequentemente. Non solo questo permette a tutto di funzionare più velocemente come detto in precedenza, ma in alcuni casi può permettere alle app di lavorare “offline”.
Se per esempio, se non si ha accesso a internet, un’app può contare sui dati della cache per continuare a lavorare anche senza connessione.
Beneficio 3: Memorizzano i dati per un uso successivo.
C’è molta efficienza nello scaricare i file solo una volta. Se una copia di un file è memorizzata nella cache, allora l’app non ha bisogno di sprecare tempo, batteria e altre risorse per scaricarlo una seconda volta. in questi casi, infatti, l’app ha bisogno di scaricare solo i file modificati o nuovi.
Leggi anche: Così riduci i tempi di risposta del server TTFB su WordPress
Come vengono servite le pagine in cache?
Penso che sia più facile capire il processo di caching guardando come viene servita una pagina.
Diciamo che hai un blog con la cache abilitata.
La prima volta che qualcuno visita la tua homepage riceve la pagina nel modo normale: La richiesta viene ricevuta, elaborata sul server, e la pagina web risultante da mostrare viene trasformata in un file HTML e inviata al browser web del visitatore.
Poiché il caching è attivato, il server memorizza questo file HTML – di solito nella sua ‘memoria ad accesso casuale’ (o RAM), che è estremamente veloce.
La prossima volta che tu, o chiunque altro, visualizza la homepage, il server non ha bisogno di fare l’elaborazione e la conversione in HTML. Invece, invia semplicemente il file HTML già preparato al browser.
Diversi tipi di cache
Come avrai capito la cache è una tecnica che memorizza una copia di una data risorsa e la serve di nuovo quando viene richiesta.
Quando una cache web ha una risorsa richiesta nel suo magazzino, intercetta la richiesta e restituisce la sua copia invece di riscaricare dal server di origine.
Questo raggiunge diversi obiettivi: allevia il carico del server che non ha bisogno di servire tutti i clienti, e migliora le prestazioni essendo più vicino a chi ne fa richiesta.
In parole povere, impiega meno tempo per trasmettere la risorsa indietro. Per un sito web, è un componente importante per ottenere alte prestazioni.
D’altra parte, deve essere configurata correttamente perché non tutte le risorse rimangono identiche per sempre: è importante dunque mettere in cache una risorsa solo finché non cambia, non di più.
Ci sono diversi tipi di cache: queste possono essere raggruppate in due categorie principali: cache private o condivise.
Una cache condivisa è una cache che memorizza le risposte per essere riutilizzate da più di un utente.
Una cache privata è dedicata ad un singolo utente. Questa pagina parlerà principalmente di cache per browser e proxy, ma ci sono anche gateway cache, CDN, reverse proxy cache e bilanciatori di carico che sono distribuiti sui server web per una migliore affidabilità, prestazioni e scalabilità dei siti web e delle applicazioni web.
Leggi anche: Come scegliere l’hosting
La cache è davvero efficace?
Un sito web ben codificato può già caricarsi in appena due secondi.
(Nota: La velocità di caricamento di un sito web è qualcosa che puoi facilmente testare da solo usando un servizio gratuito come GTMetrix).
Non è abbastanza veloce?
Vale davvero la pena fare il caching?
La risposta è un sonoro sì. Usando sia il caching del browser che quello del server sarà infatti ancora possibile ridurre di molto i tempi di caricamento, e, quando si tratta di velocità di caricamento, conviene fare le cose il più velocemente possibile!
Vale anche la pena tenere a mente che, implementando il caching, non stai solo rendendo il tuo sito web più veloce, lo stai anche rendendo più performante – e lo stai attrezzando per sopportare il peso di qualsiasi picco improvviso di traffico in modo più efficiente.
Quanto è efficace il caching? Secondo un recente studio di YUI, il caching del browser può aumentare la velocità fino al 300%!
Plugin per la cache su WordPress
Plugin come W3 Total Cache, WP Super Cache e Cache Enabler possono essere facilmente installati se utilizzi WordPress e metteranno in cache i post e le pagine come file statici.
Se combinato con una cache di pagina a livello di sistema come Varnish, tutto questo può essere abbastanza potente.
Ottenere una panoramica completa delle soluzioni di cache disponibili su WordPress è incredibilmente semplice: Cerca “WordPress cache plugin” tra i plugin di WordPress e avrai fatto!
Conclusione
Il caching del browser e le politiche di caching possono diventare abbastanza complicate. Ma iniziare a sperimentare con Cache-Control attraverso appositi strumenti – come i numerosi plugin presenti su WordPress – è semplice.
La maggior parte delle volte l’implementazione di una politica di caching “generica” per le risorse statiche è sufficiente per fare la differenza nelle prestazioni del tuo sito web.