Ich habe manuell zwei Cookies mit Firebug erstellt:
%Vor% Der einzige Unterschied ist das Domain-Attribut, eines ist localhost
, während das andere eine Port-Nummer hat.
Dies ist der HTTP-Header, wenn ich http://localhost:8080/Ex05Cookie/
anfordern möchte:
wobei der Header nur Cookie1 enthält, dessen Domäne localhost
ist.
Warum mein Firefox nicht Cookie2 anstelle von Cookie1 senden?
Dies wird von Ссылка und vom Autor von RFC 6265 :
Wenn wir heute Cookies entwerfen würden, würden wir das auf jeden Fall per Port machen. Cookies werden jedoch heutzutage im Internet häufig verwendet und diese Art von Änderung würde zu viele Websites beschädigen. In den meisten Fällen werden Cookies in dem Sinne "erledigt", dass ich nicht viel von ihnen erwarten würde. Das bedeutet leider, dass wir uns an die Cookies halten und die Portnummer nicht beachten.
Quelle: Ссылка
Der Cookie-Port sollte nicht auf der Domain gesetzt werden (wie im falschen "domain = foobar.com: 8443"), sondern als separater Cookie-Port-Parameter (wie in "domain = foobar.com; port = 8443 ")