浏览器对Cookie的限制

2016-02-20 00:41 1 1 收藏

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

【 tulaoshi.com - Web开发 】

(本文来源于图老师网站,更多请访问https://www.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,这里有两种方式:

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

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

Firefox和Safari允许cookie最长为4097个字符,即cookie的名(name)和值(value)总共可以长达4096个字符,还有一个等号(=)。 Opera则允许cookie最长为4096个字符,包括名(name)、值(value)和等号(=)。 Internet Explorer允许cookie最长为4095个字符,包括名(name)、值(value)和等号(=)。

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

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

来源:https://www.tulaoshi.com/n/20160220/1632396.html

延伸阅读
标签: 浏览器 Web开发
Netscape Navigator 9 Netscape Navigator 9 (Beta 1) 于 2007 年 6 月发布。它基于 Mozilla Firefox 2。 Navigator 9 中的一些新特性:Mozilla 特性 由于 Navigator 9 基于 Mozilla,它拥有所有最新的 Mozilla 特性。 URL 纠错 Navigator 9 会自动校正 URL。 Link Pad 一个新的 sidebar 特性,允许在不搞乱书签的情况下保存新闻日后访问...
标签: Web开发
Firefox 是由 Mozilla 开发的开源 web 浏览器。 Firefox 是什么? Firefox 是一款免费的可用于 Windows、Linux 和 Mac 的开源 web 浏览器。它小巧快速,可提供弹窗阻止和标签式浏览等许多新特性。 Firefox 基于 Mozilla 代码,是标准兼容性最好的浏览器之一。 Firefox 可用于 Windows 98、Windows 2000、Windows XP、Mac OS X 以及 Linu...
百度浏览器设置为默认浏览器方法来啦~百度浏览器是大家经常使用的一款浏览器,那么怎么将百度浏览器设置成默认浏览器呢?下文小编就为大家带来百度浏览器设置为默认浏览器的方法,一起去看下吧。 百度浏览器下载地址: 百度浏览器2015官方下载电脑版 百度浏览器设置为默认浏览器方法: 1、打开...
标签: Web开发
function getOs()   {      var OsObject = "";      if(navigator.userAgent.indexOf("MSIE")0) {           return "MSIE";       //IE浏览器    }    if(isFirefox=navigator.user...
标签: Web开发
chrome 是免费的开源 web 浏览器,它由 Google 开发。 Chrome 是什么? 当 Google 决定开发一款浏览器时,他们需要彻底地重新谋划这款浏览器,这是因为如今的浏览器与仅需要浏览简单的文本页面时有很大的不同,现在,我们在浏览器上发邮件、购物、付账单,以及运行其他的大型应用程序。 下载 Google Chrome 新特性 在经过 15 个 Beta 测...

经验教程

601

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部