从开博客开始…突然觉得自己高产了起来(一个水货的自我修养哈哈哈哈。作为一个选择困难症(逃,希望这篇文章可以帮助大家了解sessionStorage ,localStorage和Cookie,以方便各位的使用。废话不多说,开始
localStorage & sessionStorage
sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。(cookie发送)
这两兄弟都是H5的新特性,都是对Storage的拓展,区别不是特别大。主要(基本)体现在持久性上。
sessionStorage仅仅适用于同一个窗口,如果 窗口关闭 或者 浏览器关闭sessionStorage就会被删除。
但是当页面刷新(reloads)和保存(restores)依然存在。来源
画个重点,就是页面刷新可以,关闭就没了
- localStorage
localStorage储存时间比较长 —- 直到明确被删除(比如清除浏览器 cache 或者 调用清除方法)
Another subtle difference is that for example on Safari (8.0.3) localStorage has a limit of 2551 k characters but sessionStorage has unlimited storage
On Chrome (v43) both localStorage and sessionStorage are limited to 5101 k characters (no difference between normal / private mode)
On Firefox both localStorage and sessionStorage are limited to 5120 k characters (no difference between normal / incognito mode)
查资料里有人提到,localStorage sessionStorage在不同浏览器 存储空间上有很微小的区别。这里不做引申了。
当然 都远远超过Cookie的4K容量!
Cookie
cookie常被用来做认证和用户数据的保存,cookie始终会在访问 同源的的http请求中携带,在浏览器端和server端来回传递.(包括原始页面请求,任何后续的Ajax请求,所有图像,样式表,脚本和字体等等),所以这也是为什么,cookie必须设置大小限制
- 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
- 刚刚提到的,容量最多4K