Ciao, e benvenuto nella settima puntata della sessantunesima stagione. Finora abbiamo parlato di cache dentro una singola macchina. Oggi usciamo, e guardiamo il caching sul web, dove diventa una vera catena di copie sparse tra te e il sito che stai visitando. È forse il posto dove il caching ti tocca più da vicino ogni giorno, spesso senza che tu te ne accorga. Oggi parliamo del caching sul web.
Partiamo dal viaggio di una pagina, perché rivela tutto. Quando chiedi una pagina o un'immagine a un sito, quella cosa non parte per forza dal server originale, dall'altra parte del mondo. Lungo il tragitto ci sono diverse fermate, e a ognuna può esserci una copia pronta. La prima fermata è dentro il tuo stesso dispositivo: il browser. Poi ci sono i depositi sparsi per il mondo, vicini a te. E infine, in fondo, c'è la fonte originale, il server di partenza. A ogni fermata, se c'è già una copia buona, il viaggio si ferma lì e la copia ti torna indietro subito, senza arrivare fino in fondo.
Voglio partire dalla fermata più vicina, perché è nel tuo dispositivo. La prima cache del web sei quasi tu. Il tuo browser tiene copie delle cose che ha già scaricato: le immagini, i fogli di stile, i pezzi che si ripetono uguali su tante pagine. Ecco perché la seconda volta che visiti un sito è quasi sempre più veloce della prima: molte cose il browser non le riscarica affatto, ce le ha già in casa. È la ragione per cui, a volte, dopo un aggiornamento di un sito ti dicono di svuotare la cache del browser: la tua copia locale era ancora quella vecchia, e non si accorgeva del cambiamento.
Voglio darti la fermata di mezzo, perché è la più potente. Poi ci sono i depositi intermedi, una rete di copie sparse per il mondo, messe apposta vicino agli utenti. L'idea è semplice e geniale: invece di far viaggiare ogni richiesta fino al server originale, magari lontanissimo, si tengono copie delle cose più richieste in tanti punti sparsi per il pianeta, così ognuno prende la sua copia da quello più vicino a lui. Chi è a Roma prende la copia da un deposito in Italia, chi è a Tokyo da uno in Giappone. Il vantaggio è doppio: l'utente è servito più in fretta, perché la copia è vicina, e il server originale viene alleggerito, perché la stragrande maggioranza delle richieste non arriva mai fino a lui.
Voglio darti l'immagine che rende chiara questa idea, perché la fissa. Pensa a un giornale. Non esiste una sola copia del giornale, tenuta nella tipografia, che tutti devono andare a leggere facendo la fila fino alla sede centrale. Sarebbe assurdo. Invece, la tipografia stampa tante copie e le distribuisce alle edicole di tutta la città, così ognuno compra la sua copia sotto casa. La tipografia è la fonte originale, le edicole sono i depositi vicini agli utenti, e il giornale è la copia in cache. Tu vai in edicola, vicino, non in tipografia, lontana. E la tipografia non viene travolta da milioni di persone, perché ci pensano le edicole a servire il quartiere.
Voglio dirti chi comanda questo gioco, perché è elegante. E come fanno tutte queste fermate a sapere se possono tenere una copia, e per quanto? Con delle regole che il server originale allega a ogni cosa che manda. In pratica, la fonte dice: questa cosa puoi tenerla per tanto tempo, quest'altra non tenerla affatto, quest'altra tienila ma ricontrolla ogni tanto se è cambiata. Sono istruzioni che viaggiano insieme ai dati, e dicono a ogni fermata come comportarsi. È il modo in cui la fonte mantiene un po' di controllo su copie che, ormai, sono sparse per tutto il mondo e lontane da lei.
Voglio darti la lezione generale, perché lega tutto. La lezione è che il web è, in gran parte, una gigantesca gerarchia di cache, la stessa piramide che abbiamo visto nel processore, ma allargata al pianeta. Dal tuo browser, ai depositi vicini, fino alla fonte lontana: ogni livello tiene le cose calde per non disturbare quello sotto. La velocità con cui il web ti sembra reattivo non nasce quasi mai dal fatto che il server originale sia velocissimo. Nasce dal fatto che, quasi sempre, la tua richiesta non arriva nemmeno fino a lui: viene servita molto prima, da una copia molto più vicina.
Per oggi ci fermiamo qui. Abbiamo visto il caching sul web. Quando chiedi qualcosa a un sito, lungo il tragitto ci sono più fermate, e a ognuna può esserci una copia pronta. La prima è il tuo browser, che tiene le cose già scaricate, ed è per questo che la seconda visita è più veloce. Poi ci sono i depositi sparsi vicino agli utenti, che servono la copia dal punto più vicino, facendo felice l'utente e alleggerendo la fonte. Come un giornale distribuito alle edicole invece che letto tutti in tipografia. E a comandare sono le regole che la fonte allega a ogni cosa, dicendo per quanto si può tenere. La lezione: il web è una piramide di cache allargata al pianeta. Nella prossima puntata: quando la cache morde, i pericoli nascosti. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.