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;