– Tempo di lettura: 7 minuti –
“Questo sito utilizza i cookie e tecnologie simili per aiutare a personalizzare i nostri contenuti e fornire una migliore esperienza”, quante volte ti è capitato di vedere questa scritta all’apertura di un sito web ? Tipicamente si tende a dargli poco peso: la maggior parte delle persone procede cliccando su “Accetta” per togliere il prima possibile quel messaggio fastidioso. Effettivamente però cosa sono nel pratico questi cookie e perché ci viene richiesto ogni volta di accettarne l’utilizzo?
Se conosci l’inglese, saprai che la traduzione di “cookie” corrisponde alla parola italiana “biscotto”. E’ questo il motivo per il quale è stata scelta l’immagine di copertina che vedi sopra. Tuttavia, ovviamente, oggi non parleremo dei biscotti che mangiamo a colazione. I cookie che studieremo sono collegati puramente al contesto informatico.
Ricordiamo cosa avviene quando si visita un sito internet
La prima cosa che devi sapere sui cookie è che sono fondamentali per il funzionamento del web, per farti capire il perché devo però innanzitutto ricordarti cosa avviene quando si visita un sito internet. Mettiamoci nel caso dei social network come Instagram, Facebook, Twitter o altri simili. Ogni volta che ti ci colleghi, il tuo computer non fa altro che inviare una richiesta tramite internet ad un altro computer (quello che gestisce tale social) ricevendo poi da quest’ultimo una risposta contenente la pagina, il post o qualunque altra informazione richiesta. In questa operazione, il tuo dispositivo viene chiamato client mentre il computer che gestisce il social network prende il nome di server. Ovviamente questo meccanismo vale in generale, succede questo ogni volta che visiti un qualunque altro sito web. Tuttavia, l’esempio del social non è stato fatto a caso e più avanti capirai il perché.
Il protocollo HTTP
Dunque client e server non fanno altro che comunicare mediante una serie di messaggi. Devi sapere che questi ultimi si basano su un protocollo di comunicazione chiamato HTTP (HyperText Transfer Protocol). Tale protocollo definisce una sorta di linguaggio grazie al quale client e server riescono a comunicare. Ci sono due tipologie di messaggi HTTP: messaggi richiesta (detti HTTP requests) e messaggi risposta (detti HTTP responses). Le HTTP requests corrispondono ai messaggi che il client invia al server per richiedere una determinata risorsa. Le HTTP responses, invece, corrispondono ai messaggi che il server invia al client contenenti le risorse richieste da quest’ultimo.
L’HTTP è ormai ben consolidato poiché utilizzato da oltre tre decenni come principale sistema per la trasmissione di informazioni sul web. Tuttavia, ci sono alcune sue caratteristiche che possono rappresentare un limite per il web moderno. Una di queste è che risulta essere stateless: né il server né il client mantengono, a livello di protocollo, informazioni relative ai messaggi precedentemente scambiati. Questa caratteristica può essere un problema nei casi in cui l’utente deve essere autenticato per utilizzare in maniera continua un servizio, proprio come nel caso dei social network. Ciò che intendo dire è che, nel caso dei social network, ma anche di qualunque altro servizio web che richiede autenticazione, dopo il riconoscimento dell’utente, il server dovrebbe essere in grado di ricordarsi di lui lungo multiple richieste.
Mi spiegherò meglio con un esempio. Supponiamo che tu stia accedendo al tuo profilo social, quindi, vai sulla pagina di log-in, inserisci username e password e schiacci su invio. A questo punto il tuo computer manderà una richiesta al server del social che, dopo aver controllato username e password, capirà che sei effettivamente tu a voler accedere al tuo profilo. Così il server restituirà i dati relativi alla tua homepage con i post dei tuoi amici e delle persone che segui. Fino a qui tutto bene: tutto si sarà concluso con un singolo scambio di messaggi e nessuno avrà avuto necessità ricordare nulla.
A questo punto, supponiamo tu voglia mettere un mi piace al post di un tuo amico. Cliccherai sull’icona del pollice in su e il tuo computer in automatico creerà una nuova richiesta da inviare al server del social che dovrebbe a quel punto riconoscerti e salvare questa tua scelta. Ora, se utilizzassimo HTTP puro e nessun altro meccanismo, il server purtroppo non avrebbe alcun modo per ricordare che ti eri già autenticato. Come detto in precedenza, appunto, HTTP è stateless. In altre parole, il server vedrebbe la tua nuova richiesta come proveniente da uno sconosciuto e cioè ti chiederebbe di nuovo di autenticarti inserendo username e password.
Ovviamente nella realtà questo non avviene mai. Infatti, una volta che ti sarai autenticato, il tuo social si ricorderà sempre di te e non ti chiederà più username e password fin quando non cliccherai sul pulsante “Esci”. Come fa allora il server a ricordarsi di te se HTTP è senza stato? La risposta adesso dovrebbe essere scontata: utilizza i cookie.
Cosa sono i cookie?
Un cookie non è altro che una struttura dati che si muove dal client al server e viceversa. Per farla semplice, puoi vedere un cookie come una medaglietta che il server ti fornisce ogni volta che ti autentichi con la giusta username e password. Dopo l’autenticazione, ogni volta che vorrai effettuare un’operazione, il tuo computer dovrà legare tale medaglietta alla tua richiesta. Così il server, quando riceverà una richiesta legata alla tua medaglietta potrà leggere quella per riconoscerti ed evitare di sottoporti di nuovo al processo di autenticazione. Capirai, dunque, che i cookie sono di fondamentale importanza per il funzionamento del web ma allora perché spesso li si descrive in modo negativo? Inoltre, perché i cookie vengono utilizzati anche su siti web che non richiedono alcuna autenticazione per essere utilizzati?
Cookie e privacy
Il fatto di permettere il riconoscimento di un utente lungo multiple richieste può essere sfruttato per mantenere una sorta di “cronologia” delle attività svolte da quest’ultimo. Così facendo si possono sfruttare i cookie per creare profili molto dettagliati degli utenti e dei loro interessi. Questi profili possono essere utilizzati per personalizzare la pubblicità, per offrire servizi più pertinenti ma anche per finalità commerciali e di profilazione.
Ti è mai capitato di effettuare una ricerca su Internet e di ricevere successivamente pubblicità pertinenti? I cookie sono in parte collegati a questa situazione. Essi vengono utilizzati infatti per mantenere informazioni sulle attività dell’utente sul sito web, come ad esempio le pagine visitate, gli articoli acquistati, le preferenze di navigazione e altro ancora. Le società pubblicitarie utilizzano queste informazioni per mostrare annunci pertinenti alle abitudini di navigazione e interessi dell’utente. Ad esempio, se l’utente ha visitato un sito web di e-commerce per acquistare un prodotto specifico, potrebbe vedere pubblicità di quel prodotto su altri siti web in seguito.
Tuttavia, è importante notare che l’uso dei cookie per la pubblicità comportamentale è soggetto a regolamentazioni e limitazioni in base alla normativa sulla privacy, come il GDPR in Europa e il CCPA negli Stati Uniti. Gli utenti hanno il diritto di scegliere se consentire o meno l’utilizzo dei cookie per la pubblicità comportamentale e di esercitare il diritto alla privacy sui loro dati personali. E’ questo il motivo per il quale la prima cosa che ti viene richiesta quando accedi ad un sito web è il consenso sui cookie.
Spero adesso ti sia più chiaro cosa sono i cookie. La prossima volta che visiterai un nuovo sito web, sicuramente potrai scegliere con una nuova consapevolezza se accettarli oppure no. Prima di concludere, ci tengo a fare una precisazione. La frase che sopra ho evidenziato in giallo rappresenta una semplificazione che ho ritenuto necessaria per farti capire il problema in questione. In realtà, se provassi a disattivare i cookie, molto probabilmente non riusciresti nemmeno a vedere la tua homepage. Infatti, molto spesso anche il solo caricamento di quest’ultima richiede multiple interazioni tra client e server. Era doveroso precisare questa cosa ma ciò non cambia il concetto di fondo che rimane valido. Con questo è tutto. Grazie per aver letto fino a qui, un saluto!