
cookie和session都是用来跟踪浏览器用户身份的会话方式。
传统上,我们一般用cookie来存储用户信息
之前在《cookie跨域传输cookie问题:nginx跨域代理之proxy_cookie_domain 》,再次摘要
前端跨域传输cookie到服务端,需要三个条件:
在chrome80版本后,需要设置 same-site属性
个人还是比较习惯用cookie,传统,而迷信之安全。当然session 用法更简单
Web Storage存储机制是对HTML4中cookie存储机制的一个改善。由于cookie存储机制有很多缺点,HTML5不再使用它,转而使用改良后的Web Storage存储机制。 本地数据库是HTML5中新增的一个功能,使用它可以在客户端本地建立一个数据库,原本必须保存在服务器端数据库中的内容现在可以直接保存在客户端本地了,这大大减轻了服务器端的负担,同时也加快了访问数据的速度。
所以,还是sessionStorage 存储token比较好
sessionStorage:将数据保存在session对象中。
所谓session,是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。session对象可以用来保存在这段时间内所要求保存的任何数据。 后台的session 比如Java的session,它是基于往cookie写入一个JSESSIONID来实现的,所以,只要你不是打开一个隐身窗口,无论你开多少个标签页,不同标签页之间都会被认为是一个session,你在这个标签页登录了,新开一个标签输入地址,仍然是登录状态。 浏览器session sessionStorage的session仅限当前标签页或者当前标签页打开的新标签页,通过其它方式新开的窗口或标签不认为是同一个session。
sessionStorage 的有效期是页面会话持续,页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。在新标签或窗口打开一个页面会初始化一个新的会话,如果页面会话(session)结束(关闭窗口或标签页),sessionStorage 就会被清除。
需要注意的是,sessionStorage之存储字符串
sessionStorage.setItem("isAndy" false)
取出的是字符串‘false’
localStorage和sessionStorage的最大区别是生命周期,一个永久,一个仅针对一个会话期间有效。
参考文章:
转载本站文章《登录状态控制:cookies对比sessionStorage保持信息的分析》, 请注明出处:https://www.zhoulujun.cn/html/webfront/SGML/web/2020_0608_8452.html
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。