msdn上有一句话
有些浏览器还会对它们将接受的来自所有站点的 Cookie 总数作出绝对限制,通常为 300 个。
文档链接 http://msdn.microsoft.com/zh-cn/library/ms178194%28v=vs.80%29.aspx
搜索300 即可找到
我们知道ie6中一个域下cookie只能存20个,对单个域下的cookie有个数限制。但是从这篇文档上看,浏览器对所有域下的cookie数还有300的限制。
我在IE6,IE8下分别建立20个域名的站点,每个域名下生成20个cookie,测试发现超过400个cookie都没问题。不知道有的浏览器的指的哪些浏览器...... 哎 真是挠头的问题。
请大家注意 我问的是所有域下cookie总数300的限制,不是单个域下的限制。
谢谢大家的回答,确实是应该很早的浏览器有300的限制,现在大部分浏览器不会有此限制,实际应用也不要考虑此限制。但是微软的msdn上应该注明是很早的浏览器不要给人歧义的感觉。
另外 确实如大家所说,cookie不要存过多的信息。一般是一个cookie存标示id,对应数据库多个信息。
每个站点尽量只用一个 cookie,存放 session id。服务器上,保存一个 map 全局变量,key 为 session id, value 为 Session 对象。用户数据,都放在Session 对象里。这是目前常见的做法。
你想问什么呢?真是挠头的问题.
msdn的话你可以这么理解: Cookie并不能保存太多的数据,不仅如此,有些(乱七八糟的或者出于各种理由的或者不知名不知道不记得不那个啥的)浏览器甚至会对Cookie的各个方面(如总大小等)做出明确的限制.
一句话,用Cookie前请三思.
我想问那个浏览器有300的限制。 所有的人都说有些浏览器,我只想知道是哪些浏览器。举个例子就好。
@chunchunlike:
其实我也不知道.
应该是早期一些的浏览器,现在都应该没限制了。问题是现在没有谁会用cookie到300个吧……
项目中在多个域设置100个cookie。如果现在主流的浏览器cookie有300个限制,那就糟了。