H5存储方案——cookie、session、SessionStorage和LocalStorage
1.简述
浏览器端存储网页中的数据有三种存储方案:cookie、SessionStorage和LocalStorage。
其中:SessionStorage和LocalStorage是H5新增的存储方案。
而cookie经常同session一并提起,它们的主要区别:
cookie:会话跟踪技术 客户端(浏览器)
session;会话跟踪技术 服务端
也就是说session一般用于服务器端进行会话跟踪,并不是前端使用的技术,在此不细谈。
2.cookie、SessionStorage、LocalStorage作用:
可以将网页中的数据保存到浏览器中
4.Cookie、 SessionStorage、LocalStorage区别
4.1、生命周期(同一浏览器下)
Cookie | SessionStorage | LocalStorage | |
生命周期 | 默认是关闭浏览器后失效, 但是也可以设置过期时间 | 仅在当前会话(窗口)下有效,关闭窗口或浏览器后被清除, 不能设置过期时间 | 除非被清除,否则永久保存 |
4.2、容量
Cookie | SessionStorage | LocalStorage | |
容量 | 有大小(4KB左右)和个数(20~50)限制 | 有大小限制(5M左右) http://dev-test.nemikor.com/web-storage/support-test/ | 有大小限制(5M左右) http://dev-test.nemikor.com/web-storage/support-test/ |
4.3、网络请求
Cookie | SessionStorage | LocalStorage | |
网络请求 | 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 | 仅在浏览器中保存,不参与和服务器的通信 | 仅在浏览器中保存,不参与和服务器的通信 |
5、Cookie、 SessionStorage、LocalStorage应用场景
Cookie: 判断用户是否登录——便于本地对cookie的存储、判断,还能发送给服务器,服务器进行进一步的验证。实现双重验证
LocalStorage: 购物车——容量大,永久存储
sessionStorage: 表单数据——容量大,本次会话一直保存,返回时填写数据仍然在
6、注意点:
无论通过以上那种方式存储的数据, 切记不能将敏感数据直接存储到本地
LocalStorage只能存储字符串,不能存储数组,需要将数组转为字符串再存储。