Cos’è la cache & Come un sito web viene memorizzato nella cache?
Questo tutorial riguarda i seguenti argomenti:
La cache è vitale per velocizzare le operazioni e migliorare l’esperienza dell’utente nella navigazione e nell’utilizzo delle applicazioni software.
Questo articolo ti aiuterà a capire cos’è la cache, come funziona, i suoi diversi tipi e come svuotarla per prestazioni ottimali del sito web.
La memoria cache è un termine generico che può riferirsi all’infrastruttura del server e al browser locale o alla cache hardware.
Sebbene ci siano molti aspetti tecnici della cache, definiremo quelli più rilevanti per i proprietari e gli utenti del sito web.
Come funziona la memorizzazione nella cache?
L’immagine seguente mostra il processo di caricamento della pagina e come i dati vengono memorizzati nella cache in diversi punti:
Inizia quando un visitatore inserisce l’URL di un sito web nel proprio browser.
Il browser controlla prima la sua cache per vedere se alcune parti della pagina (come immagini o file) sono memorizzate localmente. Se viene trovato qualcosa, viene caricato immediatamente. In caso contrario, il browser invia una richiesta al server del sito web.
I file del sito web (come HTML, CSS o JavaScript) possono provenire da una Content Delivery Network (CDN), che aiuta a caricare queste risorse più velocemente memorizzandole più vicino al visitatore.
Successivamente, il server assembla il contenuto e lo invia al browser. Se la pagina web è stata memorizzata in precedenza, la cache della pagina potrebbe inviare una versione salvata invece di ricostruirla.
Se la pagina non è memorizzata nella cache, il server web elabora la richiesta. Raccoglie tutte le risorse necessarie e può interagire con un database per recuperare contenuti dinamici come post del blog o dati degli utenti.
La memorizzazione nella cache in varie fasi riduce il tempo necessario per caricare il contenuto e aumenta quindi le prestazioni complessive.
Quali sono i diversi tipi di cache?
La cache del sito web può essere classificata in cache lato server e cache lato client. In più, i componenti hardware (come la CPU e la memoria RAM sul tuo dispositivo) hanno anche la propria cache per velocizzare le operazioni.
1. Caching lato client
La memorizzazione nella cache del client avviene sul dispositivo dell’utente dopo che i dati sono stati ricevuti dal server.
-
Cache del browser
La cache del browser è il tipo più comune di cache che gli utenti incontrano. Memorizza le informazioni dei siti web che visiti per la prima volta sul tuo dispositivo locale.
I browser web come Google Chrome, Microsoft Edge o Safari utilizzano questa cache per migliorare i tempi di caricamento.
Ad esempio, quando visiti un sito di notizie, il tuo browser memorizza elementi come immagini, loghi e file CSS. La prossima volta che lo visiti, il browser recupererà quei file dalla cache invece di scaricarli di nuovo.
-
Cache DNS locale
Il tuo dispositivo memorizza nella cache le informazioni DNS per risolvere rapidamente gli indirizzi di dominio.
Quando visiti un sito web per la prima volta, il tuo sistema interroga un server DNS esterno per ottenerne l’indirizzo IP.
Alla successiva visita dello stesso sito web, il tuo dispositivo controllerà per prima cosa la cache DNS locale per vedere se ha recentemente memorizzato un indirizzo IP per quel dominio.
Se il dominio e l’indirizzo IP si trovano nella cache DNS locale, il client può saltare la query a un server DNS esterno. Ciò migliora la velocità di caricamento e riduce il traffico di rete e il carico sui server DNS esterni.
2. Caching lato server
Questo tipo di memorizzazione nella cache avviene sul server prima che i dati del sito vengano inviati al client locale (browser o dispositivo). Mira a ridurre il carico di elaborazione del server e fornire contenuti più rapidamente all’utente.
Il caching lato server funziona su più livelli. Mirano a diversi aspetti del miglioramento delle prestazioni all’interno dell’ambiente server.
-
Cache Reverse-proxy
Reverse proxy caching memorizza intere risposte HTTP, come pagine web complete, CSS statici o file di immagini. Quando qualcuno richiede una pagina, il proxy controlla prima la sua cache. Se la pagina è memorizzata nella cache, invia la versione salvata, accelerando i tempi di caricamento.
Questo riduce il carico di lavoro sul server principale, che non ha bisogno di inviare nuovamente la pagina. Strumenti come NGINX e Varnish sono comunemente usati per questo tipo di caching.
-
Cache Dinamica
Questo livello prende di mira i contenuti generati da siti web, come WordPress. Le applicazioni CMS creano pagine dinamicamente basate sulle richieste degli utenti e sulle query del database.
A differenza dei siti web statici in cui una pagina è archiviata come un semplice file (come HTML), i siti web dinamici utilizzano query di database ed elaborazioni lato server per generare pagine.
La memorizzazione nella cache dinamica ne riduce la necessità memorizzando nella cache la risposta della pagina intera generata dal server. Ciò porta a caricamenti delle pagine più veloci e a un carico del server ridotto per le richieste future.
-
Cache degli oggetti
Il caching degli oggetti raccoglie singoli oggetti dalle informazioni utilizzate per generare una pagina.
Ad esempio, WordPress potrebbe aver bisogno di recuperare il menu di navigazione del sito. Ciò comporta una query al database.
Con il caching degli oggetti, questo risultato della query viene memorizzato nella cache. Quindi, anche se la pagina dinamica cambia, i dati del menu possono comunque essere estratti dalla cache senza chiedere al database.
È particolarmente utile per i siti web ad alto traffico o quelli con database di grandi dimensioni, perché memorizza nella cache i dati utilizzati di frequente su più pagine. Questo riduce significativamente il carico sul database.
La Memcached di SiteGround è un meccanismo di caching degli oggetti.
-
Cache di Opcode
Il caching di Opcode migliora le prestazioni memorizzando il codice PHP compilato (opcodes) in memoria.
Elimina la necessità di ricompilare gli script per ogni richiesta e velocizza i tempi di esecuzione. OPcache è la soluzione di caching opcode più comune.
Mettendo nella cache il codice compilato, ottimizza le prestazioni delle applicazioni basate su PHP, come WordPress. Questo riduce anche il carico della CPU sul server.
-
Cache della CDN
La cache della CDN è importante, specialmente se un sito web ha un pubblico di destinazione globale. Consiste in periferiche CDN che memorizzano copie cache dei dati del sito web in diverse località.
Ogni visitatore carica i dati del sito dalla periferica CDN più vicina, invece di fare una richiesta al server di origine. Ciò consente agli utenti lontani dal data center di accedere alle pagine più rapidamente.
Le CDN sono utili anche per distribuire il traffico e ridurre il carico sul server di origine. Questo migliora le prestazioni e fornisce un ulteriore livello di sicurezza.
3. Caching dell’hardware
Sebbene sia più rilevante per le prestazioni di calcolo, la cache dell’hardware può fungere da buona analogia per il modo in cui funziona la cache sui siti web.
-
Cache della CPU
La cache della CPU è una piccola memoria ad alta velocità situata nell’unità di elaborazione centrale di un computer. Contiene file temporanei che vengono utilizzati frequentemente dalla CPU.
-
Cache della RAM
La cache della RAM memorizza i dati nella tua RAM di sistema per un accesso rapido. Ad esempio, Google Chrome può archiviare i dati nella RAM se hai molte schede aperte, al fine di rendere la navigazione in Internet più fluida.
-
Cache del disco
L’unità di archiviazione ha anche una propria cache, come la flash cache e la cache persistente. Aumentano la velocità delle operazioni di lettura e scrittura. Questo è importante durante i periodi di elevata richiesta, come durante il gaming o l’editing di video.
Vantaggi della cache per il tuo sito web
1. Miglioramento della velocità del sito web
Il vantaggio più evidente della memorizzazione nella cache è una migliore velocità del sito web. La riduzione dei tempi di caricamento delle pagine è un fattore importante nella fidelizzazione degli utenti.
Gli studi hanno dimostrato che oltre il 50% degli utenti lascia un sito web se una pagina impiega più di tre secondi per caricarsi. Diversi livelli di caching risolvono direttamente questo problema aumentando significativamente le prestazioni.
2. Riduce il carico sul server
La memorizzazione nella cache riduce la necessità di ripetute richieste di dati e consente al server di gestire più traffico. Riducendo il carico del server, la memorizzazione nella cache consente al tuo sito web di funzionare in modo più efficiente.
3. Miglioramento SEO
La velocità è un fattore importante per la Search Engine Optimization (SEO). I siti web più veloci tendono a posizionarsi più in alto perché i motori di ricerca danno la priorità ai siti che offrono una migliore esperienza utente. Si consiglia di utilizzare tutti gli strumenti di caching disponibili per migliorare le possibilità di posizionamento nella prima pagina delle ricerche.
4. Accesso offline
Un vantaggio significativo dell’utilizzo della cache della CDN è l’accesso offline ai contenuti web. Ad esempio, la modalità Sotto attacco della CDN di SiteGround mantiene le tue pagine accessibili in caso di interruzioni. Se il server principale non funziona, i visitatori possono comunque avere un’esperienza senza interruzioni sul tuo sito web.
Come pulire la cache
I vecchi dati memorizzati nella cache possono causare il caricamento di contenuti obsoleti da parte dei siti web. Cancellare tutte le cache libera spazio di archiviazione sul dispositivo. Previene anche problemi lato server dovuti a una cache obsoleta e invalida.
1. Cancellare cache e cookie del browser
Cache e cookie hanno scopi diversi. La cache memorizza i dati del sito web per migliorare la velocità di caricamento. I cookie memorizzano informazioni come i dettagli di accesso e le preferenze. Tieni presente che l’eliminazione dei cookie eliminerà anche le sessioni di accesso salvate dal tuo browser.
Per cancellare i dati di navigazione in Google Chrome:
- Clicca sui 3 punti nell’angolo in alto a destra per accedere al menu delle impostazioni
- Seleziona Elimina dati di navigazione.
- Seleziona Immagini e file memorizzati nella cache e Cookie e altri dati dei siti
- Clicca su Cancella dati.
Puoi anche specificare un intervallo di tempo da cancellare, ma in genere è consigliabile svuotare l’intera cache durante se stai cercando di risolvere dei problemi.
Per Safari, clicca su Cronologia dalla barra dei menu > Cancella cronologia > seleziona un intervallo di tempo > Cancella cronologia
Abbiamo anche articoli dettagliati per i passaggi esatti per svuotare la cache su altri browser , un dispositivo Android e dispositivi mobili iOS.
2. Svuotare la cache DNS
A volte, potrebbe essere necessario svuotare la cache DNS per risolvere dei problemi relativi a delle discrepanze con gli indirizzi IP.
I passaggi variano a seconda dei diversi sistemi operativi. Abbiamo creato articoli separati per svuotare la cache DNS su computer Windows, Computer Apple e Dispositivi Linux.
3. Svuotare la cache lato Server
La cache dinamica di SiteGround viene cancellata automaticamente in un certo periodo di tempo. Puoi anche svuotarla manualmente dalla dedita sezione nel Site Tools o utilizzare il pulsante “Pulisci la Cache SG” di Speed Optimizer.
La maggior parte dei provider di hosting che offrono una qualche forma di caching lato server hanno anche un pulsante Cancella Cache o Pulisci Cache nelle loro dashboard.
4. Eliminare la cache della CDN
Per svuotare la cache della CDN, vai alle impostazioni del tuo provider CDN e cerca il pulsante Svuota Cache / Cancella Cache.
Per la CDN di SiteGround, vai a Site Tools > Velocità > CDN > clicca su Svuota la cache. Questo cancella tutti i dati memorizzati nella rete della CDN in modo che gli utenti ricevano la versione più recente del tuo sito web.
Possibili problemi di memorizzazione nella cache
1. Cache obsoleta
L’obsolescenza della cache si verifica quando il browser pubblica una copia vecchia (obsoleta) della pagina.
Quando non riesci a vedere gli aggiornamenti recenti, di solito è perché il browser sta ancora recuperando la versione obsoleta memorizzata nella cache.
In questi casi, svuotare la cache del browser e cancellare tutta la cache sul lato server dovrebbe risolvere il problema.
2. Penalità dovute a Cache Miss
Le cache funzionano utilizzando un sistema di cache hit e cache miss.
Una cache hit si verifica quando i dati richiesti vengono trovati nella cache.
Una cache miss significa che i dati del sito non sono memorizzati nella cache, costringendo il sistema a recuperarli dal server di origine.
La cache miss aumenta il tempo di caricamento e può influire negativamente sull’esperienza dell’utente.
SiteGround fa aggiornamenti regolari alla cache per massimizzarne i risultati. Questo assicura che il nostro sistema di caching contenga i dati più recenti del tuo sito web.
3. Spazio di archiviazione limitato
I file di cache a volte possono occupare spazio di archiviazione significativo sul dispositivo se si accumulano nel tempo. Questo può rallentare il tuo web browser.
In questi casi, è consigliabile cancellare la cronologia di navigazione, sia la cache che i cookie.
Perché la memorizzazione nella cache è importante?
La memorizzazione nella cache dei dati del sito web è un processo complesso. Abbiamo trattato gli aspetti più importanti per i proprietari e gli utenti del sito web.
Ci sono due punti principali:
- Che sia lato server, lato client o basato sull’hardware, l’obiettivo della memorizzazione nella cache è sempre lo stesso: accelerare l’accesso ai dati e aumentare le prestazioni.
- La cancellazione della cache è un passaggio importante quando si cerca di risolvere problemi tecnici.
Se utilizzi la cache in modo efficace, puoi migliorare significativamente la velocità, l’efficienza e l’affidabilità del tuo sito web.