浏览器对Cookie的限制

小金鱼406

小金鱼406

2016-02-20 00:41

下面图老师小编跟大家分享浏览器对Cookie的限制,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

原文地址:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

我一直在为我接下来的一本书做一些关于cookie的研究,在这个过程中我碰到了一些关于浏览器处理cookie的有意思的事情。我从寻找浏览器允许每个域保存的cookie个数开始。这个结果很有趣:

微软表示,Internet Explorer 8增加了每个域可以保存的cookie个数至50个,不过我发现IE7也允许每个域保存50个cookie。当然,这可能是因为一个系统补丁增加的,而不是这个浏览器版本一开始就是这样,但是仍然超过了通常认为是20个的限制。 Firefox允许每个域保存50个cookie。 Opera允许每个域保存50个cookie。 Safari/WebKit是这其中最有趣的,因为它似乎没有明显的限制,一直到Safari 3.1。我测试了一下设置10,000个cookie,结果它们全部设置成功而且还随着Cookie头部一起发送了。不过问题是,头部的大小超过了限制,导致服务器不能处理,从而发生了错误。

因此,我们以前认为的浏览器限制每个域的cookie数目为20的观点不再正确。另一个有趣的不一致现象是:当设置了太多cookie时,浏览器有什么反应。出来Safari的异常之外,其它的都设置了上限个数的cookie,这里有两种方式:

当cookie数量达到限制以后,最近最少使用算法(LRU)自动踢除最老的cookie,以便可以给最新的cookie腾出空间。Internet Explorer和Opera使用这个方式。 Firefox则有些奇怪:它似乎是随机决定保存cookie,尽管最后一个cookie总是会保存。似乎看不出来它遵循了什么规则。怎么办?(The takeaway? )在Firefox,中,不要从超过cookie的限制。

不同的浏览器之间,cookie的总大小也不尽相同。这一点也比较有一点难以理解,不过这里是我的一些测试结果:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)Firefox和Safari允许cookie最长为4097个字符,即cookie的名(name)和值(value)总共可以长达4096个字符,还有一个等号(=)。 Opera则允许cookie最长为4096个字符,包括名(name)、值(value)和等号(=)。 Internet Explorer允许cookie最长为4095个字符,包括名(name)、值(value)和等号(=)。

这里要注意的是,这里的测试都是使用的单字节字符;双字节字符长度将会自然地记为2。在所有的浏览器中,只要长度超过了限制的cookie都将被忽略,并且永远不会被设置。

在做完这些测试以后,我得出的结论是传统的对于cookie的限制(大多是从原始的中得来的)的理解不再正确。我们在使用cookie时应该非常谨慎,并始终以最低限度使用。

展开更多 50%)
分享

猜你喜欢

浏览器对Cookie的限制

Web开发
浏览器对Cookie的限制

浏览器删除cookie方法

浏览器
浏览器删除cookie方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

cookie怎么导入导出浏览器

浏览器
cookie怎么导入导出浏览器

如何在浏览器里启用Cookie?

浏览器
如何在浏览器里启用Cookie?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

360浏览器怎么清楚cookie数据

电脑网络
360浏览器怎么清楚cookie数据

IE8浏览器Cookie的处理

Web开发
IE8浏览器Cookie的处理

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

windows 8网络受限?巧取IP地址来搞定

windows 8网络受限?巧取IP地址来搞定

图文详解:win8媒体流设置步骤

图文详解:win8媒体流设置步骤
下拉加载更多内容 ↓