绝想首页

Cookie的优化使用

陈亚舫 [随感] 2013-03-21 13:05:25 星期四 晴天 查看:420 回复:0 发消息给作者

最近IE项目经理EricLaw在微软官方的IEBlog发了篇文章解释说明上个月(8月份)IE累积更新中MS07-045中关于Cookie Jar的部分的功能变化。

原来IE每个域限制cookie项目为20个,现在增到50个。以前为规避20个cookie的限制,很多编程者都是通过字典cookie的方式来解决。

但是有两个限制仍然没有改变
1、DOM中的document.cookie属性只能检索客户端计算机上 cookie 的 4096 个字节。如果 cookie 字符串的长度超过 4096 个字节,则该属性将返回空字符串。
2、如果“Set-Cookie”头的长度超过 5118 个字节,则 Internet Explorer 和 HTTP Wininet API 将忽略“Set-Cookie”头。

虽然提升了cookie项目数量的限制,但是EricLaw出于功能和性能的原因考虑仍然建议尽量降低 cookie 的使用数量,并且要尽量使用小 cookie。另外,应用程序应能够处理 cookie 丢失。

他解释说:存在多个cookie时会增加HTTP请求次数,极大的降低浏览速度,如今的web用户上行/下行带宽是不对称的,通常下载速度要比上传速度快两到五倍。这意味着某些情况下,决定整体传输时间消耗时,HTTP的Request次数的影响比服务器端的Response次数的影响更大。

他提供了三种使用cookie的策略减少对站点性能的影响:
1、最小化cookie大小:使用最短的cookie名和cookie值
2、把静态内容发布到不同域上去:如果使用了许多静态资源(CSS、imgages、JS),它不会随cookie值变化,使用该法能取得良好的效果。比如你浏览Office Online clipart网站,你会注意到图片都来自http://officeimages.microsoft.com,而不是http://office.microsoft.com。这意味着大量设置在office.microsoft.com域的cookie不会发送到officeimage.microsoft.com站点上。
3、必要时用Path属性发送cookie:这类似于第2条。

文中还提到了如何保证cookie的安全性问题,他的建议是使用HttpOnly属性,说这样可以避免客户端跨站角本窃取cookie。根据我所了解的资料,HttpOnly属性是微软在IE上的一个功能扩展,这决定了这个功能可能受限于IE环境下。另外,如果有人用Flash内嵌的角本功能来窃取cookie,这个功能仍然是无能为力的,只能说这个属性有用,但作用有限。

顶一下(35 写日记 1226272 224545
上一篇:又要考试了`~下一篇:追随
分享排行

 

 

留住已经逝去的峥嵘岁月 记住曾经绽现的万种风情 在记忆即将淡漠的时候 来把这些重新回味

Copyright (C) 2008-2014 www.juexiang.com, All Rights Reserved.

京ICP备2023001011号-3   京公网安备11010802011908号

客服QQ 1017160561 违法和不良信息举报电话 13148464312 邮箱 1017160561@qq.com