Fdream's Blog
专注于WEB前端开发
Powered by Google
1
浏览器对Cookie的限制
23 雨天 2008-10
Fdream 发表于 Ajax Web, 已被阅读 466 次评论 0 条
关键词:cookie web

中午写上一篇日志的时候翻到这篇文章的,不过因为要上班,没来得及翻译,现在翻译一下贴在这里,供大家参考。

======我是无辜的分割线=====

原文地址:Browser cookie restrictions

我一直在为我接下来的一本书做一些关于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的观点不再正确...

写在前面:这篇文章出来的晚了,还请大家原谅!主要原因是今天放学后,被人拉去Happy了^_^,也祝大家周末快乐!

接上回:

要让浏览器记住用户选择的样式文件,最简单的方法就是使用cookie了,而且用Javascript设置和读取也很方便。

//设置Cookie的函数

引用内容:

function SetCookie(name,value){

var argv=SetCookie.arguments;

var argc=SetCookie.arguments.length;

var expires=(2<argc)?argv[2]:null;

var path=(3<argc)?argv[3]:null;

var domain=(4<argc)?argv[4]:null;

var secure=(5<argc)?argv[5]:false;

document.cookie=name+"="+escape(value)+((expires==null)?"":("; expires="+expires.toGMTString()))+((path==null)?"":("; path="+path))+((domain==null)?"":("; domain="+domain))+((secure==true)?"; secure":"");

}

1
Copyright © 2005-2008,Fdream All Rights Reserved
Processed in 0.1093764 second(s) , unknow queries
Powered by OWord V0.1, Even Not Alpha
(此博客程序为半成品,请勿索取,以免给您的心灵造成创伤^_^)
鄂ICP备05026031号