cookie、localStorage、sessionStorage
来源:互联网 发布:mac开机按住com r 编辑:程序博客网 时间:2024/05/22 23:59
Cookie
大小限制为4kb左右,它的主要用途是保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的。
HTML5 Web存储
一个比cookie更好的本地存储方式
使用HTML5可以在本地存储用户的浏览数据。
早些时候,本地存储使用的是cookie,但是Web存储需要更加的安全与高速,这些数据不会被保存在服务器上,但是这些数据只用于用户请求网络数据上,它也可以存储大量的数据,而不影响网站的性能。
localStorage-没有时间限制的数据存储,对象存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。
sessionStorage-针对一个session的数据存储,当用户关闭浏览器时,数据会被删除。
localStorage以及sessionStorage常用API:
保存数据:localStorage.setItem(key,value);
读取数据:localStorage.getItem(key);
删除单个数据:localStorage.removeItem(key);
删除所有数据:localStorage.clear();
得到某个索引的key:localStorage.key(index);
三者的异同:
特性 Cookie localStorage sessionStorage
应用场景
有了对上面这些差别的直观理解,我们就可以讨论三者的应用场景了。
因为考虑到每个 HTTP 请求都会带着 Cookie 的信息,所以 Cookie 当然是能精简就精简啦,比较常用的一个应用场景就是判断用户是否登录。针对登录过的用户,服务器端会在他登录时往 Cookie 中插入一段加密过的唯一辨识单一用户的辨识码,下次只要读取这个值就可以判断当前用户是否登录啦。曾经还使用 Cookie 来保存用户在电商网站的购物车信息,如今有了 localStorage,似乎在这个方面也可以给 Cookie 放个假了~
而另一方面 localStorage 接替了 Cookie 管理购物车的工作,同时也能胜任其他一些工作。比如HTML5游戏通常会产生一些本地数据,localStorage 也是非常适用的。如果遇到一些内容特别多的表单,为了优化用户体验,我们可能要把表单页面拆分成多个子页面,然后按步骤引导用户填写。这时候 sessionStorage 的作用就发挥出来了。
安全性的考虑
需要注意的是,不是什么数据都适合放在 Cookie、localStorage 和 sessionStorage 中的。使用它们的时候,需要时刻注意是否有代码存在 XSS 注入的风险。因为只要打开控制台,你就随意修改它们的值,也就是说如果你的网站中有 XSS 的风险,它们就能对你的 localStorage 肆意妄为。所以千万不要用它们存储你系统中的敏感数据。
- sessionStorage,localStorage,cookie
- session, cookie, localStorage, sessionStorage
- sessionstorage,localstorage和cookie
- LocalStorage,SessionStorage,Cookie
- Cookie,sessionStorage,localStorage
- 知识点:cookie、localStorage、sessionStorage
- cookie,session,localstorage,sessionStorage
- cookie sessionStorage localStorage
- Cookie, LocalStorage 与 SessionStorage
- cookie、localStorage、sessionStorage
- sessionStorage 、localStorage 和 cookie
- sessionStorage 、localStorage 和 cookie
- Cookie, LocalStorage 与 SessionStorage
- 浅谈cookie、localstorage、sessionstorage
- Cookie, LocalStorage 与 SessionStorage
- sessionStorage、localStorage和cookie
- cookie,localStorage,sessionStorage
- Cookie, LocalStorage 与 SessionStorage
- 关于复杂json数据的处理(多重嵌套和数组)
- 第九章 完整备份工具:dump, restore
- 七牛js上传
- 第九章 dd备份工具
- Redis优化
- cookie、localStorage、sessionStorage
- 工作总结
- 路由基础(一)
- 第十章 vi 的使用
- 如何在mapreduce上使用第三方的Python库
- 第十章 vim 的额外功能
- 阿里云服务器配置java生产环境jdk1.7+tomcat7.0+mysql5.5(二)
- 通过源码分析String、StringBuffer和StringBuilder
- windows下redis安装教程