关于不同浏览器下Cookie内容长度限制的测试

由于项目的需要,进行一个COOKIE内容长度的限制测试,作一个记录供参考,测试设计如下,分两种情况:

  (1) 当前页面未设置同名Cookie的情况;

  (2) 当前页面已设置同名Cookie的情况;

主要测试代码如下:

 
  
// 超过4K的一个超长字符串 var longString = ' dfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafddfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsafdfsafdsaffsafdsafdfsafdsafbug ' ; // 写Cookie函数 function setCookie(name,value) { var Days = 1 ; // 此 cookie 将被保存 1 天 var exp = new Date(); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000 ); document.cookie = name + " = " + escape (value) + " ;expires= " + exp.toGMTString(); } function getCookie(name) // 取cookies函数 { var arr = document.cookie.match( new RegExp( " (^| ) " + name + " =([^;]*)(;|$) " )); if (arr != null ) return unescape(arr[ 2 ]); return null ; } // 设置Cookie,此处包含文章开头提到的两种情况: setCookie('test','已经设置的Cookie'); // 设置超长Cookie:   setCookie('test',longString); alert( getCookie('test') ) ;




测试结果如下:

 (1) 当前页面未设置同名Cookie的情况;

  

 浏览器版本

 输出结果

 IE6

 null

 IE7

 null

IE8

 null

 Firefox

 null

 Chrome

 null

 Opera

 null

结论:

在以上各版本浏览器中写入超过4KB(当然各浏览器情况可能不同,有的是4095字节,有的是4096字节)字符串时会出现无法写入的情况,

并不能实现截断写入的情况。

(2) 当前页面已设置同名Cookie的情况;  

 浏览器版本

 输出结果

 IE6

  null

 IE7

  null

 IE8

 已经设置的Cookie

 Firefox

 已经设置的Cookie

 Chrome

 已经设置的Cookie

 Opera

 已经设置的Cookie

结论:

在以上各版本浏览器中当已经存在键名为 'test' 的值时,写入超过4KB(当然各浏览器情况可能不同,有的是4095字节,有的是4096字节)字符串时:

 1. 在IE6与IE7下,当无法写入超长字符串时,会影响原有键名为'test'的Cookie值,在测试结果中可以看到此Cookie值已经被清除;

 2. 而在其他浏览器中,当无法写入超长字符串时,并不会影响到原有同键名的Cookie值,原有Cookie值依然可以正常读取。

仅供参考,希望对大家有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值