Ho creato manualmente due cookie utilizzando Firebug:Perché al browser Web non interessa il numero di porta quando si invia un cookie?
Cookie1=value1; expires=Sat, 29 Mar 2014 06:21:54 GMT; path=/Ex05Cookie; domain=localhost; HttpOnly
Cookie2=value2; expires=Sat, 29 Mar 2014 06:21:54 GMT; path=/Ex05Cookie; domain=localhost:8080; HttpOnly
L'unica differenza è l'attributo di dominio, uno è localhost
mentre l'altro ha un numero di porta.
Questa è l'intestazione HTTP quando provo a chiedere http://localhost:8080/Ex05Cookie/
:
GET /Ex05Cookie/ HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: Cookie1=value1
Connection: keep-alive
Cache-Control: max-age=0
in cui l'intestazione contiene solo cookie1 il cui dominio è localhost
.
Perché il mio firefox non invia Cookie2 anziché Cookie1?
Immagino sia il problema dello "stesso dominio" con la meccanica HTTP, in cui il browser non distingue tra percorsi e/o porte diversi per utilizzare diversi cookie all'interno di lo stesso dominio. –
ma ciò potrebbe causare problemi, poiché server diversi vengono eseguiti su porte diverse e i cookie creati dal server httpd (porta 80) non devono essere inviati a Tomcat (porta 8080). –
Molto vero; Sono anche interessato a chi potrebbe sapere una soluzione per questo. –