cookies,sessionStorage 和 localStorage 的区别

定义

cookie:存储在用户本地终端上的数据。有时也用cookies,指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端上的数据,通常经过加密。一般应用最典型的案列就是判断注册用户是否已经登过该网站。

localStorage - 没有时间限制的数据存储,第二天、第二周或下一年之后,数据依然可用。

设置: localStorage.name = 'xiaowu';

获取: localStorage.name //xiaowu

sessionStorage - 针对一个 session 的数据存储,当用户关闭浏览器窗口后,数据会被删除。

设置: sessionStorage.name = 'xiaowu';

获取: sessionStorage.name //xiaowu

 

浏览器兼容情况

特性ChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
localStorage 4 3.5 8 10.50 4
sessionStorage 5 2 8 10.50 4

 

三者的异同

特性CookielocalStoragesessionStorage
数据的生命期 可设置失效时间,默认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下有效,关闭页面或浏览器后被清除
存放数据大小 4K左右 一般为5MB 一般为5MB
与服务器端通信 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 仅在客户端(即浏览器)中保存,不参与和服务器的通信 仅在客户端(即浏览器)中保存,不参与和服务器的通信
易用性 需要程序员自己封装,源生的Cookie接口不友好 源生接口可以接受,亦可再次封装来对Object和Array有更好的支持 源生接口可以接受,亦可再次封装来对Object和Array有更好的支持

 

使用场景:

localStorage可以用来统计页面访问次数。

sessionStorage可以用来统计当前页面元素的点击次数。

cookie一般存储用户名密码相关信息,一般使用escape转义编码后存储。

posted on 2018-04-02 14:06  诚明小巫  阅读(143)  评论(0编辑  收藏  举报

导航