Ich lese gerade die MDC-Eintrag für nsICookieManager2.add
und sie spricht über Domain y Nicht-Domäne Kekse. Was sind die Unterschiede zwischen den beiden Arten von Cookies?
Antworten
Zu viele Anzeigen?Aus RFC2109:
Der Name von Host A stimmt mit dem von Host B überein wenn [...] A eine FQDN-Zeichenkette ist und die die Form NB, wobei N ein nicht leerer Namenszeichenfolge ist, B die Form .B' hat, und B' eine FQDN-Zeichenkette ist. (Also, x.y.com mit .y.com überein, aber nicht mit y.com.)
Wenn ich es also richtig verstehe, hat ein Domain-Cookie eine Domain wie .y.com
und ein Nicht-Domänen-Cookie hat eine Domäne wie x.y.com
. Ein Domain-Cookie ist für alle Subdomains sichtbar, und ein Nicht-Domain-Cookie ist nur für seine spezifische Subdomain sichtbar.
Ein Cookie mit der Domäne .y.com
ist sichtbar, wenn Sie Subdomains wie www.y.com
y test.y.com
(aber nicht y.com
), während ein Cookie mit der Domäne x.y.com
ist nur sichtbar, wenn man die Subdomain besucht x.y.com
aber keine andere Subdomain.
Aus dem RFC geht hervor, dass die Domäne des anfragenden Hosts verwendet wird, wenn die Domäne bei der Erstellung des Cookies nicht angegeben wird. Eine Anfrage von www.foo.com ohne Angabe einer Domäne wird also www.foo.com als Domäne haben.
Sie können jedoch die Domäne explizit so einstellen, dass das Cookie für eine Vielzahl von Subdomänen verwendet wird. Wenn Sie die Cookie-Domäne auf foo.com setzen, können Sie unter www.foo.com oder help.foo.com oder *.foo.com darauf zugreifen. Dies ist sehr nützlich, wenn Sie den Status von Anwendungen weitergeben, die Sie vielleicht hosten.
Soweit ich weiß, macht ein Nicht-Domänen-Cookie keinen Sinn. Cookies sind immer an eine Domain gebunden und nur die Cookies für diese Domain werden an die Anwendung weitergegeben und können verwendet werden. Aber ja, es gibt Techniken, mit denen wir domänenübergreifende Cookies erstellen können. Hier ist ein Tutorial, das dies erklärt. Ich weiß nicht, ob Sie php für Ihr Projekt verwenden, denn dieses Tutorial erklärt das Konzept mit php.
http://www.tutorialized.com/view/tutorial/Implementing-Cross-Domain-Cookies/372
Ich hoffe, das hilft.