在一次面试过程中,面试官问过我关于浏览器cookie的问题包括:cookie大小,cookie个 数限制以及如何操作cookie等一系列的问题。实话讲,在平时的JS使用过程中很少去注意这方面的问题也很少去用到cookie,所以这次被人家问了个 目瞪口呆,吱吱唔唔也说不出个所以然来,最后只能老实交待对这块cookie的操作还不是很了解。今天有同事又问起关于cookie的问题,我就到网上查 询了一下做了一些相关的摘要记录下来,以备不时之用。关于cookie的操作,做为JS程序员应该是相对熟悉一些的,所以就不对它进行过多的说明了。
以下就是关于各浏览器之间对cookie的不同限制:
IE6.0 | IE7.0/8.0 | Opera | FF | Safari | Chrome | |
cookie个数: | 每个域为20个 | 每个域为50个 | 每个域为30个 | 每个域为50个 | 没有个数限制 | 每个域为53个 |
cookie总大小: | 4095个字节 | 4095个字节 | 4096个字节 | 4097个字节 | 4097个字节 | 4097个字节 |
超出个数限制后的处理操作:
1、IE与Opera的处理是一样的。他们都利用“最近最少使用算法”,当cookie已经达到限额时就将自动剔除最老的cookie,以给最新的cookie的留下可用的空间。
2、FF很特殊,虽然最后设置的cookie会被保留下来,但它好像没有什么章法随机进行删除已存在的cookie。
备注:
在我们进行页面cookie操作的时候,应该尽量保证cookie的数量以及相应的大小。cookie个数最好 < 20~30个;cookie大小最好 < 4K