各浏览器的cookie的name个数/最大容量限制测试

时间:2022-10-29 20:07:11

测试代码

for(var ii = 0; ii< 5000;ii++){
if (!window.ia) window.ia=0;
window.ia++;
var s = 'a'+window.ia+'=';
for (var i = 0; i < 4000;i++) s+='' +parseInt(Math.random()*10);
s+= ';';
//alert(s.length);
document.cookie = s;
}

经过测试(ie10,firefox22,chrome)

各浏览器的cookie每一个name=value的value值大概在4k;所以4k并不是一个域名下所有的cookie共享的,而是一个name的大小;

而对于name的个数的限制,发现ie10大概是50个,如果超过了50个,前面的你这个进程(js?php?感觉应该是这样)设置的最前面设置的就会挨删除把新的放进去.当出现这种溢出替换的过程时,就会导致当前进程的ie的这个域名无法访问,需要重启浏览器才行;所 以对于name的个数可以按照ie的来定即可,其它浏览器倒没有限制,(500+还可以放);

而对于限制4k大小的限制时,保存cookie的请求就直接的被忽略,没有任何效果