本文最后更新于 6004 天前,其中的信息可能已经有所发展或是发生改变。
前一段在做一个项目时,遇到了这个问题,在feed.ccvita.com下存在一个名为ABC的cookie,
同时在.ccvita.com父域下也存在同名的ABC的cookie。在读取ABC时,在IE和Firefox中出现了不同的结果。
情况分析:
.ccvita.com父域下的页面读取cookie的情况是:
1.在IE中,会将子域的cookie和父域的cookie合并在一起读出。
2.在Firefox中,如果有本域(ccvita.com)的ABC存在,会优先读本域(ccvita.com)的ABC的内容 ,而不读子域(feed.ccvita.com)的ABC的内容。
3.在Firefox中,如果没有本域(ccvita.com)的ABC存在,才会读子域(feed.ccvita.com)的ABC的内容。
4.在Firefox中,feed.ccvita.com子域下的页面读取cookie的情况规则相同,feed.ccvita.com子域的ABC优先读取,IE合并读取;Firefox优先读取本域,只读一个。
总结一下,也就是说在IE下会将Cookie合并输出,但是Firefox会优先输出本域下的Cookie。这个情况我去年碰到过,像我前段时间碰到的《Apache中Cookie长度的设置》:https://kimi.pub/316.html问题,都是不容易被人注意的技术细节,但是一旦碰到了,又会让人比较郁闷。
本文转载自YUI Blog China,由于找不到文章具体链接,只有给加上根域名链接了。
Update:感谢Fenng的提醒,发现右侧有文章链接。cookie-在ie与firefox中域的不同处理
貌似flash下的cookie也不一样
何必转载呢,
添加个链接不就成了
http://www.yuiblog.cn/2008/03/26/cookie-在ie与firefox中域的不同处理/
kimi和Fenng都是牛人啊
细节决定成败啊!