合买大神
网站首页 网站建设 公司动态 行业新闻 案例展示 关于我们

文章内容

前端开发中Cookie那些事儿

日期:2013-11-22  来源:攀枝花惠康网络公司

前段时刻做了项目,在前端实现中频仍的操作cookie,记实几点供巨匠参考!

cookie操作在前端开发过程中经常碰着,当然如不美观只是用来存储一些简的暌姑户数据,仍是斗劲简单的,我们要做的可能只是设置cookie名,值,过时时刻等,篡夺也只要按照cookie的名篡夺响应的cookie值就可以了。在复杂的应用中,光这些必定就不够了。

cookie的属性

除了name(名)和value(值),cookie还有以下一些可选属性,用来节制cookie的有用期,浸染域,平安性等:

expires属性
它指定与cookie联系关鲜ё仝一路的网页。在默?#31995;那?#24418;下cookie会与建树它的网页,该网页处于统一目录下的网页以及与这个网页地址目录下的子目录下的网页联系关系

path属性
指定了cookie的保留期,默认情形下cookie是?#20197;?#23384;在的,他们存储的值只在浏览器会话时代放在,当用户退出浏览器后这些值?#19981;?#20002;失踪,如不美观想让cookie存在一段时刻,就要为expires属性设置为未来的一个用毫秒数暗示的过时日期或时刻点,expires默认为设置的expires的当前时刻。此刻已经被max-age属性所庖代,max-age用秒来设置cookie的保留期。

如不美观max-age属性为正数,则暗示该cookie会在max-age秒之后自动失踪效。浏览器会将max-age为正数的cookie持久化,即写到对应的cookie文件中。无论客户封锁了浏览器仍是电脑,只要还在max-age秒之前,登录网站时该cookie仍然有用。

如不美观max-age为负数,则暗示该cookie仅在本浏览器窗口以及本窗口打开的子窗口内有用,封锁窗口后该cookie即失踪效。max-age为负数的Cookie,为?#20204;?#24615;cookie,不会被持久化,不会被写到cookie文件中。cookie信息保留在浏览器内存中,是以封锁浏览器该cookie就消逝踪了。cookie默认的max-age值为-1。

?如不美观max-age为0,则暗示删除该cookie。cookie机制没有供给删除cookie的体例,是以经由过程设置该cookie即时失踪效实现删除cookie的效不美观。失踪效的Cookie会被浏览器?#26252;筩ookie文件或者内存中删除。

这里要声名一下:Session的cookie在ie6下,如不美观用户其实网页上跳转打开页面或新开窗口(搜罗target=”_blank”,鼠标右键新开窗口),都是在统一个Session内。如不美观用户新开浏览器轨范或者说是历程再打开当前的页面就不是统一个Session。其他浏览器只要你Session存在,仍是统一个Session,cookie还能共享。在前段时刻的项目中ie6下吃了很?#26252;?#19968;个亏。


domain属性可以使多个web处事器共享cookie。domain属性的默?#29616;?#26159;建树cookie的网页地址处事器的主机名。不能将一个cookie的域设置成处事器地址的域之外的域。
例如让位于a.sodao.com的处事器能够篡夺b.sodao.com设置的cookie值。如不美观b.sodao.com的页面建树的cookie把它的path属性设置为“/?#20445;?#25226;domain属性设置成“.sodao.com?#20445;?#37027;?#27492;形?#20110;b.sodao.com的网页和所?#24418;?#20110;a.sodao.com的网页,以及位于sodao.com域的其他处事器上的网页都可以访谒这个cookie。

如不美观不设置expires或者max-age这个cookie默认是Session的,也就是封锁浏览器该cookie就消逝踪了。

secure属性

前面说了?#24247;?#35831;求新文灯?#20445;?#27983;览器将发送Cookie各处事器,导致WEB机能下降。所以不建议将cookie作为客户端存储一种实现方案,替代方案参见:JavaScript当地存储实践(html5的localStorage和ie的userData)等。

同名的 cookie


它是一个布尔值,指定在收集上若?#26410;?#36755;cookie,默认是不平安的,经由过程一个通俗的http毗连传输;

HttpOnly属性

domain属性
HttpOnly 属性限制了 cookie 对 HTTP 请求的浸染规模。出格的,该属性指示用户代办代庖忽略那些经由过程“非 HTTP” 体例对 cookie 的访谒(好比浏览器吐露给js的接口)。注重 HttpOnly 属性和 Secure 属性彼此自力:一个 cookie 既可所以 HttpOnly 的也可以有 Secure 属性。
在前段时刻的项目中我就用js去篡夺一个cookie,结不美观怎么都取不到这个值,最后查证这个cookie是httpOnly的,花了近2个小时,悲剧了。

cookie的传输

浏览器将cookie信息以name-value对的形式存储于当地,?#24247;?#35831;求新文灯?#20445;?#27983;览器将发送Cookie,?#24247;?#26159;让Server可以经由过程HTTP请求追踪客户。所以?#26252;筗EB机能的角度来说我们要尽?#24247;?#20943;小cookie,?#28304;?#21040;传输机能的最?#26252;?#21270;。

cookie的编码息争码

因为cookie的名/值中的值不许可包含分号,逗号和空格符,为了最?#26252;?#21270;用户代办代庖和处事器的兼容性,任何被存储为 cookie 值的数据都应该被编码,例如用我们前端熟知的js全局函数encodeURIComponent编码和decodeURIComponent解码。

cookie作为客户端存储

同名的 cookie,?#21046;?#30340; domain 或?#21046;?#30340; path,属?#21046;?#30340; cookie;同名的 cookie,不异的 domain 且不异的 path,?#21046;?#30340; expires,属统一个 cookie。

 

文章来源:攀枝花惠康网络公司

惠康网络,是一家专业从事攀枝花网站建设,攀枝花网站制作,攀枝花网站设计公司,提供网站建设一条龙服务(网站域名注册+网站服务器租用+网站开发+网站维护+网站营销推广),惠康网络立足攀枝花,辐射全中国,攀枝花惠康网络的客户已经遍布国内各地大中小城市,我们高效优质的网站建设服务深受用户好评。

客服?#35748;擼?img src="skin/images/tel.png" alt="tel" height="15" width="84" style="vertical-align:middle;">(谢先生)  客服QQ:1323605005  
服务邮箱:[email protected](售前咨询)  [email protected](技术部)  [email protected](售后服务)
公司地址:四川省攀枝花市
?#26102;啵?/span>617200

合买大神 1.18桑普多利亚视频 王者荣耀李白凤求凰 奥格斯堡钢琴怎么样 伯恩茅斯伯恩利 埃弗顿巴西格雷米奥 国王杯巴萨西班牙人比赛时间 阿森纳最新消息 汉诺威96vs沙克尔04 2013斯图加特李娜马泰克 山西快乐10分走势图