Cosa sono e a che servono
HTTP è un protocollo “senza stato” (stateless).
- Il server non mantiene informazioni sulle richieste fatte dal client.
- UNa serie di richieste dallo stesso browser client appaiono al server web come indipendenti.
- I cookie sono la soluzione alla caratteristica stateless di HTTP.
Alcune precisazioni sui cookies
1. Senza lo stato è difficile per il server attribuire una identità univoca al client.
2. Senza lo stato è difficile per il server tenere traccia di una serie di richieste da un client.
3. Senza lo stato è difficile fare applicazioni web interattive che “ricordano” cosa è successo nella interazione precedente.
4. I cookie possono creare una sessione’ di richieste e risposte HTTP “con stato” (stateful).
5. Un cookie è un piccolo pezzo di dati (testuali) che sono inviati dal web server e memorizzati nel client (ad esempio come file in una cartella associata al browser).
6. Ad ogni visita, dal client il cookie viene restituito al server per informarlo sulla attività precedente.
7. Il dato viene inviato come parte degli HEADER HTTP di richiesta e risposta, tramite i campi Set-Cookie e Cookie.
8. I cookies vengono memorizzati nel client per un periodo predefinito.
9. Ogni cookie è associato con il nome di dominio del server che lo ha generato
Classificazione dei cookies:
A. DURATA:
1. cookie di sessione (temporaneo) automaticamente cancellato alla chiusura del browser.
2. cookie persistente attivo fino alla sua data di scadenza o alla sua cancellazione da parte dell’utente.
B. PROVENIENZA:
1. cookie di prima-parte
inviato al browser direttamente dal sito che si sta visitando.
2. cookie di terza-parte
inviato al browser da altri siti e non dal sito che si sta visitando.
– Originariamente il campo “Domain”, associato al cookie, determinava se il cookie fosse di prima o terza parte. Adesso non vi è alcuna differenza intrinseca tra un cookie di prima e di terza parte. La distinzione esiste solo in fase di esecuzione, nel contesto di una particolare visita: se un cookie è associato ad un file richiesto dallo stesso dominio della pagina che si sta visualizzando, è un
cookie di prima-parte. Un cookie associato a un file da un altro dominio è un cookie di terzaparte.
– Si noti che lo stesso cookie può essere di prima-parte in un momento e di terza-parte in un altro
momento. Per esempio, quando si visita twitter.com il browser imposta vari cookie associati con il
nome di dominio * .twitter.com. Nel contesto della visita su Twitter questi sono cookie di primaparte.
Se poi si visita repubblica.it, La Repubblica chiede dei file da twitter.com e tali richieste
comprendono gli stessi cookie * .twitter.com, che a questo punto rappresentano cookie di terzaparte.
C. FINALITÀ (da tenere presente che un cookie può avere più di una finalità):
1. cookie tecnico
2. cookie di navigazione/indispensabile/di performance/di processo o di sicurezza contribuisce al funzionamento del sito, ad esempio la possibilità di navigare tra le pagine o accedere ad aree protette. Se viene bloccato, il sito non può funzionare correttamente.
i. Nb: il cookie di sicurezza è un sotto-tipo che permette di autenticare gli utenti, prevenire l’uso fraudolento delle credenziali di accesso e proteggere i dati da soggetti non autorizzati. Può ad
es. contenere record con firma digitale e crittografati per l’ID dell’account dell’utente.
3. cookie di funzionalità/preferenze/localizzazione/di stato della sessione permette di memorizzare informazioni che modificano il comportamento o l’aspetto del sito (lingua preferita, dimensioni di testi e caratteri, area geografica in cui ci si trova). Se viene bloccato, l’esperienza è meno funzionale ma non compromessa.
4. cookie statistico/analytic a) di prima-parte oppure b) di terza-parte con mascheratura IP, senza incrocio dati. Assimilabile al c. tecnico per finalità, serve a raccogliere informazioni e generare statistiche di utilizzo del sito web per comprendere come i visitatori interagiscono.
5. cookie non tecnico: cookie statistico/analytic di terza-parte senza mascheratura IP, senza incrocio dati serve a raccogliere informazioni e generare statistiche di utilizzo, con possibile identificazione e tracciamento dell’utente, del sito web per comprendere come i visitatori interagiscono.
6. cookie di profilazione/pubblicitario/advertising/di tracciamento o delle conversioni per la selezione della pubblicità in base a ciò che è pertinente per un utente (annunci personalizzati). I cookie di profilazione sono volti a creare profili relativi all’utente e vengono utilizzati al fine di inviare messaggi pubblicitari in linea con le preferenze manifestate dallo stesso nell’ambito della navigazione in rete.
Nb. il cookie delle conversioni è un sotto-tipo che consente agli inserzionisti di determinare quante persone che fanno clic sui loro annunci finiscono per acquistare i loro prodotti.
D. CARATTERISTICHE TECNICHE:
1. secure cookie
a. flag “Secure” inserito nell’header HTTP, il cookie viaggia obbligatoriamente in HTTPS.
2. httpOnly cookie
a. flag “httpOnly” inserito nell’header HTTP, il cookie non può essere usato da client scripts o cross-side.
3. super cookie (local shared objects (LSO) / HTML5 DOM Local Storage / Silverlight /
4. pixel hacks…) / browser independent cookie
5. LSO, comunemente chiamato Flash cookie, è un pezzo di dati memorizzato sul client da siti che usano Adobe Flash. Similmente si comportano i cookie HTML5 Local Storage e Silverlight. Una volta memorizzati, sono indipendenti dal browser utilizzato per l’accesso a Internet. I Flash cookie sono file un po’ più grandi dei cookie HTML regolari e sono in formato binario (Action Message Format) e non testuale. Solitamente vengono usati per salvare informazioni sui giochi, film online, etc.
Criticità:
a. A differenza dei cookie per browser, quasi tutti i Flash cookie non hanno una scadenza e i dati rimangono memorizzati fino alla formattazione del PC o alla rimozione dei dati con
metodi manuali.
b. È capitato che vengano letti da applicazioni di terze parti, spesso per finalità di marketing e per tracciare i movimenti (ciò ha generato varie class action USA).
c. Possono occasionalmente riattivare o ricreare i cd. zombie cookie.
6. zombie cookie
Cookies già cancellato, in alcuni casi può essere riattivato o ricreato (es. da un super cookie).