当前位置:首页 > 时尚生活

cookie设置 前端开发中Cookie详解

Cookie操作是前端开发过程中经常遇到的。当然,如果只是用来存储一些简单的用户数据,还是比较简单的。我们需要做的可能是设置cookie的名称、值、过期时间等。我们只需要根据cookie名称读取相应的cookie值。在复杂的应用中,这些肯定是不够的。

cookie的属性

除了名称和值之外,cookie还有以下可选属性,用于控制cookie的有效期、范围和安全性:

过期属性

指定了cookies的生存期。默认情况下,cookies暂时存在。它们存储的值仅在浏览器会话期间存在,当用户退出浏览器时,这些值将会丢失。如果希望cookies存在一段时间,应该将expires属性设置为以毫秒表示的未来过期日期或时间点。过期默认为器械包的当前过期时间。现在已经被max-age属性代替,max-age属性设置cookie的生存期,以秒为单位。

如果最大年龄属性为正,这意味着cookie将在最大年龄秒后自动过期。浏览器将保存具有正最大年龄的cookie,即,将它们写入相应的cookie文件。无论客户是关闭浏览器还是关闭计算机,只要cookie在最大年龄秒之前,它在登录网站时仍然有效。

如果max-age为负,则表示cookie只在该浏览器窗口和该窗口中打开的子窗口有效,关闭窗口后cookie将无效。最大年龄为负的cookie是临时cookie,不会持久化或写入cookie文件。Cookie信息保存在浏览器内存中,因此浏览器关闭时cookie会消失。cookie的默认最大年龄值为-1。

如果最大年龄为0,则删除该cookie。Cookie机制没有提供删除cookie的方法,所以可以通过设置cookie立即过期来达到删除cookie的效果。浏览器将从cookie文件或内存中删除过期的cookie。

如果您没有设置过期或最长期限,默认情况下,cookie是会话,也就是说,当您关闭浏览器时,cookie会消失。

这里需要说明的是,Session的cookie在ie6下,如果用户跳转打开页面或者打开新窗口(包括target = "_ blank "并且用鼠标右键打开新窗口),都在同一个Session中。如果用户打开一个新的浏览器程序或进程,然后打开当前页面,则不是同一个会话。只要您的会话存在或者是同一个会话,其他浏览器就可以共享cookie。前段时间在ie6项目下我吃了大亏。

域属性

域属性使多个web服务器能够共享cookie。域属性的默认值是创建cookie的服务器的主机名。您不能将cookie的域设置为服务器所在域以外的域。

例如,a.sodao.com的服务器可以读取b.sodao.com设置的cookie值。如果b.sodao.com的页面创建的cookie将其路径属性设置为“/”,域属性设置为“. sodao.com”,那么b.sodao.com的所有页面、a.sodao.com的所有页面以及sodao.com域的其他服务器上的页面都可以访问该cookie。

路径属性

它指定与cookie关联的网页。默认情况下,cookie与创建它们的网页、同一目录下的网页以及同一目录下子目录下的网页相关联

保护财产

是一个布尔值,指定如何在网络上传输cookie,默认不安全,通过普通http连接传输;

HttpOnly属性

HttpOnly属性限制了HTTP请求的cookie范围。特别是,该属性指示用户代理忽略以“非HTTP”方式对cookie的访问(例如浏览器向js公开的接口)。请注意,HttpOnly属性和Secure属性是相互独立的:cookie可以是HttpOnly属性,也可以是Secure属性。

在前一段时间的项目中,我用js读取了一个cookie,但是无法获得这个值。最后花了将近2个小时验证cookie是httpOnly,真是悲剧。

cookie的传输

浏览器以名称-值对的形式在本地存储cookie信息。每当请求新文档时,浏览器都会发送cookies,以便服务器可以通过HTTP请求跟踪客户。所以,从WEB性能的角度来说,应该尽量减少cookie,使传输性能最大化。

cookie的编码和解码

由于cookie name/value中的值不允许包含分号、逗号、空字符,为了最大化用户代理和服务器之间的兼容性,任何存储为cookie值的数据都要进行编码,比如js全局函数encodeURIComponent的编码和解码,这是我们在前端熟悉的。

1.《cookie设置 前端开发中Cookie详解》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《cookie设置 前端开发中Cookie详解》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/1069849.html

上一篇

两只老鼠站立互殴一旁猫咪被吓傻 真相原来是这样!

下一篇

乞讨人自带二维码 路人再也不能拿“没零钱”搪塞了

公众号平台登录 微信公众平台登录页面已恢复正常

公众号平台登录 微信公众平台登录页面已恢复正常

氪36得知之前微信公众平台登录页面已经宕机无法打开,微信表示正在修复中。截至发稿时,微信官方账号登录页面已恢复正常。...

微信订阅号登陆 微信公众平台登录页面已恢复正常

微信订阅号登陆 微信公众平台登录页面已恢复正常

氪36得知之前微信公众平台登录页面已经宕机无法打开,微信表示正在修复中。截至发稿时,微信官方账号登录页面已恢复正常。...

专家建议女性退休年龄从50岁延到55岁 事件详细经过!

专家建议女性退休年龄从50岁延到55岁 事件详细经过!

最近有不少网友关注到专家建议女性退休年龄从50岁延长到55岁的问题。大多数网友想知道专家建议女性退休年龄从50岁延长到55岁的具体情况,所以专家建议女性退休年龄从50岁延长到55岁。边肖还在网上做了一系列的资料,下面我们来...

神武50装备满属性 神武3:飞升144大魔王装备展示,超高属性点,愤怒易成长腰带亮了

  • 神武50装备满属性 神武3:飞升144大魔王装备展示,超高属性点,愤怒易成长腰带亮了
  • 神武50装备满属性 神武3:飞升144大魔王装备展示,超高属性点,愤怒易成长腰带亮了
  • 神武50装备满属性 神武3:飞升144大魔王装备展示,超高属性点,愤怒易成长腰带亮了

海鸥浏览器 郑虹霓|一梦正芳芬 何妨青涩存

  • 海鸥浏览器 郑虹霓|一梦正芳芬  何妨青涩存
  • 海鸥浏览器 郑虹霓|一梦正芳芬  何妨青涩存
  • 海鸥浏览器 郑虹霓|一梦正芳芬  何妨青涩存
全球最长寿老人年龄达117岁260天 登上网络热搜了!

全球最长寿老人年龄达117岁260天 登上网络热搜了!

据共同社报道,18日,被公认为世界最长寿老人的日本福冈市田中洋子,年满117岁零260天。按厚劳动省来说,这和中国确认的寿命最长的老人和已故的田岛纳米的记录是一样的。田中1903年出生于福冈县元和白村,目前住在福冈市的一家...

自己在家做水疗怎么做 面部水疗在家怎么做?手把手教你如何让年龄成为秘密

  • 自己在家做水疗怎么做 面部水疗在家怎么做?手把手教你如何让年龄成为秘密
  • 自己在家做水疗怎么做 面部水疗在家怎么做?手把手教你如何让年龄成为秘密
  • 自己在家做水疗怎么做 面部水疗在家怎么做?手把手教你如何让年龄成为秘密

晨妍 抖音晨妍年龄多大?晨妍资料介绍

  • 晨妍 抖音晨妍年龄多大?晨妍资料介绍
  • 晨妍 抖音晨妍年龄多大?晨妍资料介绍
  • 晨妍 抖音晨妍年龄多大?晨妍资料介绍