Ciao a tutti, non so se questa è la sezione adatta...

Sto studiando come funziona il protocollo HTTP e come si fanno le richieste ai server; tuttavia non mi è chiara una cosa.

Riguardo ai cookies, mi pareva di aver capito che:
- un client invia la richiesta al server SENZA settare cookie
- il server risponde riconoscendo il client come "nuovo" e setta dei cookies
- il client invierà le nuove richieste settando i cookies esattamente come erano arrivati.

Quindi sembra che il client non può "inventarsi" dei cookies, può solo rispedire quello che gli è arrivato.

Invece, tracciando per esempio degli header, sembra che questo principio venga violato (ho cancellato tutti i cookies sul mio pc ovviamente):

1) IL CLIENT INVIA PER LA PRIMA VOLTA:
codice:
GET /sito HTTP/1.1
Host: www.sito.it
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
ecc

Risposta:
HTTP/1.1 200 OK
Date: Tue, 11 Oct 2011 14:08:49 GMT
Set-Cookie: c1=ciao; path=/; domain=sito.it
Content-Type: text/html;charset=ISO-8859-1
ecc
Come immaginavo, il client non invia nessun cookie, e il server risponde settandone dei nuovi

2) IL CLIENT RIFA' LA RICHIESTA:
codice:
GET /sito HTTP/1.1
Host: www.sito.it
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Referer: www.sito.it
Cookie: c1=ciao; c2=sorpresa&c3=sorpresa; c4=sorpresa&c5=sorpresa&c6=sorpresa
ecc
Le domande sono:
a) da dove tira fuori tutti quegli altri cookies?!? (c2, c3, ecc)
b) in che formato sono scritti?!? il formato del cookie non era "cookie=stringa; "? perché c'è la "&"?

Mi viene da pensare che ci sono altri tipi di cookies di cui non sono a conoscenza?

Grazie!