cookies

archiviare informazioni nel client

Un cookie HTTP è un piccolo pezzo di informazione che il server invia al client che può memorizzarlo e che lo re-invia con le successive richieste fatte allo stesso server. Tipicamente vengono usati per capire se due richieste vengono dallo stesso browser (per ovviare così all'assenza di stato nelle comunicazioni HTTP) e quindi per implementare meccanismi tipo login o carrelli della spesa.

Creazione del cookie

Questo è un compito che spetta all'applicazione lato server (uno script PHP ad esempio) che deve impostare almeno un header: Set-Cookie.

Il valore dell'header è una coppia nome=valore, ad esempio potremmo avere un header come quello qui sotto:

Set-Cookie: informazione_utile=cioccolato
Set-Cookie: altra_info=lunedì

Restituzione dei cookie

Poniamo che il server www.forno.it invii un cookie al nostro browser, ogni volta che il browser farà una successiva richiesta (ad esempio un GET per chiedere una pagina HTML) al server www.forno.it re-invierà lo stesso cookie utilizzando l'header Cookie nella richiesta. Continuando con l'esempio precedente il browser imposterebbe questo header:

Cookie: informazione_utile=cioccolato; altra_info=lunedì

Validità dei cookie

Se non diversamente specificato il browser cancellerà il cookie quando verrà chiuso (sarebbe a dire dopo la sessione di lavoro), è possibile però specificare Una scadenza per il cookie in due modi diversi

Expires
imposta una data di scadenza
Max-age
imposta il numero di secondi di validità
Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2021 07:28:00 GMT;