Introduzione
In questo documento vengono descritti i cookie HTTP e la differenza tra i cookie di sessione e i cookie persistenti.
Premesse
I cookie sono stringhe di dati che un server Web invia al browser. Quando un browser richiede un oggetto dallo stesso dominio in futuro, invierà la stessa stringa di dati al server di origine.
I dati vengono inviati dal server Web sotto forma di intestazione HTTP denominata "Set-Cookie". Il browser invia il cookie al server in un'intestazione HTTP denominata "Cookie".
Di seguito è riportato un esempio di una transazione cookie HTTP:
Risposta HTTP dal server Web:
[...]
Set-Cookie: first.lastname
HTTP GET dal client:
[...]
Cookie: first.lastname
Nella transazione di esempio, il server Web ha richiesto al client di creare il cookie "first.lastname". Alla successiva richiesta di un oggetto da questo dominio, il client invia il cookie con la richiesta. In questo esempio viene illustrato come un server Web potrebbe essere in grado di richiamare determinate informazioni, ad esempio gli accessi degli utenti.
Tipi di cookie
Esistono due diversi tipi di cookie: cookie di sessione e cookie persistenti. Se un cookie non contiene una data di scadenza, viene considerato un cookie di sessione. I cookie di sessione vengono memorizzati e non vengono mai scritti su disco. Alla chiusura del browser, il cookie viene definitivamente perso a partire da questo momento. Se il cookie contiene una data di scadenza, viene considerato un cookie permanente. Alla data specificata nel campo Scadenza, il cookie verrà rimosso dal disco.
Un cookie può contenere diversi campi separati da punti e virgola. Le definizioni sono:
scade
expres="Wdy, GG-Mon-AAAA HH:MM:SS GMT"
Determina quando il cookie deve essere eliminato.
percorso
percorso=/
Determina il percorso in cui restituire il cookie. In questo esempio, il cookie verrà inviato quando si accede al percorso principale di un dominio.
dominio
domain=whatever.domain.com
Specifica per quale dominio viene utilizzato il cookie. Se il dominio non corrisponde a quello a cui si sta effettuando l'esplorazione, viene considerato un "cookie di terze parti" e verrà rifiutato dal browser. Ciò impedisce a un dominio di impostare un cookie per un dominio diverso.