Tecnologia di Internet
 
Tener traccia dei visitatori: i cookie
Come si è detto, una connessione HTTP viene chiusa non appena i dati richiesti sono stati spediti. Ci sono tuttavia molte buone ragioni per tener traccia di una persona che visita il vostro sito e tempo dopo torna a visitarlo. Potreste per esempio volergli suggerire nuove pagine, mostrare le ultime novità, o semplicementetener nota di quello che ha comperato.

Per far questo ci sono diversi modi:

  • moduli di e-commerce che possono comprendere un “carrello della spesa” in cui l’utente può memorizzare gli articoli per comperarli più avanti;
  • moduli di database che possono tener nota del nome e indiizzo IP dell’host consentendo di controllare il ritorno di un visitatore;
  • Web Objects, una soluzione high-end della Apple che tiene nota dell’interazione del browser con il server collegandosi con grandi database e altri sistemi WebObjects;
  • cookies.
Cos'è un cookie?
Un cookie (biscotto) è un piccola informazione scritto dal browser sul disco locale in modo che possa essere successivamente riletta dal browser stesso e spedita al server. Questo è il modo in cui il browser può memorizzare alcune informazioni, per esempio il nome dell’utente (dopo averlo chiesto, naturalmente). La prossima volta che l’utente si collega allo stesso sito che ha messo il cookie, il browser può salutarlo chiamandolo per nome.

Il file cookie è un file di testo. Nella versione Windows di Navigator, il cookie è un file di nome cookies.txt presente nella directory di Netscape. Per gli utenti Macintosh il file si chiama MagicCookie e sta nella cartella di Netscape che a sua volta sta nella cartella Sistema > Preferenze. Con Netscape, i cookie sono trasferiti su disco solo quando l’utente esce da Netscape e sono caricati in Netscape quando viene lanciato. Quando si legge, scrive, cancella un cookie durante una sessione con Navigator, tutta l’attività è fatta in memoria.

Internet Explorer usa un sistema diverso: ogni cookie è salvato in un suo proprio file in una direcory cookies nelle directories di sistema.

Tra i campi di un cookie ci sono

  • dominio del server che ha creato il cookie
  • informazione se per accedere al cookie deve essere usata una connessione sicvura HTTPS
  • percorso dell’URL in grado di accedere al cookie
  • nome del cookie entry
  • dati del cookie entry

I cookies sono specifici per un certo dominio. Se un dominio crea un cookie, un altro domino non può accere a a quel cookie tramite il meccanismo di Netscape. I cookie hanno una data di scadenza ed inoltre il file cookies di Navigator non può contenere più di 300 cookies.

Per esempio, questa è una parte del file MagicCookie del mio computer:

    www.dnet.it FALSE / FALSE 1451516369 clanguage ITA
    www.acrobuddies.com FALSE / FALSE 963734509 WB-User mauro
    www.planetpdf.com FALSE / FALSE 1293753600 WEBTRENDS_ID 194.242.194.238-2486294624.29315856
    www.altavista.com TRUE / FALSE 1388491201 AV_UID dc72ea386eb7ab
    britannica.com FALSE / FALSE 1410047448 ssuid 2wA46M002iM0001ce9svwKm49d
    www.alibris.com FALSE / FALSE 978307199 CustomerId 389d66882
    .amazon.de TRUE / FALSE 956962729 session-id 028-6202329-5020005
    .amazon.de TRUE / FALSE 956962729 session-id-time 956962800

Questo è invece il contenuto di un cookie di Internet Explorer, che memorizza ogni cookie in un file separato. Questo particolare file si chiama orvis@java.txt e cioè username (orvis) e ultima parte del dominio (java).

    Counter_Cookie
    7
    www.myplace.com/Java/
    0
    2750889984
    29260821
    2802449904
    29177426
    *

Il nome del cokie è Counter_Cookie e il suo valore è 7. Seguono l’URL (il dominio) e altri attributi numerici. Questo particolare cookie implementa un contatore di pagine che elenca il numero di volte che è stata visitata una particolare pagina. Quando visitate tale pagina, questo cookie viene spedito assieme richiesta della pagina richiesta. Il server allora sa che questa è la ottava (7 + 1) volta che avete visitato la pagina ed inserisce questo numero nella pagina web. Quindi incrementa il valore del cookie da 7 a 8 e lo rispedisce al browser con la pagina richiesta. Il nuovo cookie rimpiazza il vecchio, e la prossima volta verrà spedito al server il numero 8.

A cosa serve un cookie?
Un sistema per il commercio elettronico potrebbe essere sviluppato con l’uso dei cookie che ricordano cosa una persona desidera comperare. Quando la stessa persona si ricollegherà con il sito gli possono venire proposti articoli che ha precedentemente scelto ma non ha ancora acquistato.

Nel commercio elettronico i cookie sono utili tecniche con le quali tener traccia del cliente e del suo carrello della spesa. Quando un cliente visita per la prima volta un sito di commercio elettronico gli viene spedito un cookie che contiene un numero identificativo. Ogni volta che sceglie qualcosa da comperare l’articolo viene aggiunto nel carrello della spesa con l’identificativo. Finita la scelta degli articoli, la pagina di checkout elenca tutti gli articoli associati a quel codice.

Un’altra tecnica consiste nello spedire un cookie separato per ogni articolo acquistato. Quando si arriva alla pagina di checkout il browser spedisce al server tutti i cookies e con questi viene compilata la lista.

Un cookie potrebbe servire per creare un profilo dell’utente (secondo le pagine che visita, le pubblicità sulle quali fa clic) per controllare le abitudini di acquisto e proporgli articoli adatti a lui (targeted marketing).

Un cookie può servire anche per fare una statistica più accurata dei visitatori di un sito: con un cookie è possibile distinguere tra 50 diverse persone che visitano il sito da una singola persona che fa clic 50 volte sul pulsante di Reload.

Un altro uso interessante è quello dei “cammini morti”: seguite il percorso dei vostri clienti ed esaminate il punto in cui abbandonano il vostro sito, pensando che non ci sia più niente di interessante.

Come funziona un cookie?
I cookie vengono normalmente messi da uno script CGI, ma possono anche essere messi e letti da JavaScript.

Un cookie viene spedito ad un browser includendo una linea con la sintassi seguente nell’head di un documento HTML:

Set-Cookie: NAME=VALUE;expires=DATE;path=PATH;domain=DOMAIN_NAME;secure

Si noti che l’head viene rimossa dal documento prima che il browser visualizzi la pagina. Quindi non è possibile vedere l’head con View > Page Source o simili.

NAME=VALUE è il nome del cookie e il suo valore; si tratta di una informazione che il web server chiede che gli sia restituita quando il browser richiede un’altra pagina.

DATE è l’attributo che determina fino a quando il cookie rimane nel sistema. Se non c’è data, il cookie viene memorizzato solo in memoria e viene eliminato alla fine della sessione (cioè quando si chiude il web browser). Se la data è futura il cookie viene memorizzato in un file; se la data è passata il cookie viene eliminato.

DOMAIN_NAME contiene l’indirizzo del server che ha mandato il cookie e che ne riceverà una copia quando il browser richiede un file dal server.

PATH: se specificato, un cookie è rispedito al server solo se sia DOMAIN_NAME che PATH corrispondono.

secure specifica che il cookie viene spedito solo se è utilizzato un canale sicuro (hpps).

Con JavaScript sè possibile impostare un cookie (con un certo numero di parametri) e recuperare i dati di un cookie (senza parametri). L’istruzione JavaScript per scrivere un cookie è questa:

    document.cookie = “cookieName=cookieData
    [; expires=timeInGMTString]
    [; path=pathname]
    [; domain=domainname]
    [; secure]

Che informazioni può raccogliere
Quando un browser spedisce una richiesta ad un server, inserisce il proprio indirizzo IP, il tipo di browser usato e il sistema operativo del computer. Non ci sono altre informazioni personali esplicitamente spedite al server da un cookie.

Un cookie non può essere usato per recuperare dati dal disco, prelevare l’indirizzo di mail o altri dati sulla persona. Invece un cookie, se non è disabilitato, può essere usato per tener traccia delle pagine visitate dall’utente in un determinato sito. Per disabilitare i cookie (dalla versione 3 di Netscape) usare le preferenze del browser.

Le preferenze relative ai cookie in
Netscape Navigator 4.

Documentazione online

   
Home | Commenti a Mauro Boscarol | Ultimo aggiornamento 22 dicembre 2000