红颜莎娜
要做本地存储的可能有以下的几种方式:cookie、localstorage、sessionstorage、filesystemAPI、indexedDB、WebSQL.cookie、localstroage不多说可能是大家用的比较多得方案。都可以用作本地缓存,记录简单地字符串。除了常见的区别外我多几点。需要多提的两点哈1.cookie在浏览器发送网络请求的时候,会在http头中会自动携带cookie过去,其他方案不会。所以也就是说如果做一些用户登录状态的话还是靠cookie更合适一点。2.在浏览器中执行清除缓存操作的时候,cookie会被清掉,而其他的存储方案不会被清除掉。因为其他方案相比cookie算是真正的持久化方案。说说其他的三种哈,从前往后说,1.filesystemAPI提供一种在浏览器啥箱内创建类似文件及文件夹得嵌套结构,可以用来存储长文本,注意是长文本哈,也就是说存储的体积可以很大,我曾经尝试着存储过500M+以上的,没问题,只不过这种速度还是蛮低的。2.indexedDB这货功能是非常强大的,如果你上网查询过相关的资料,你会发现这货的写法跟mongodb很像。不过为什么没有被广泛使用起来呢,其实考虑下web端的应用场景,应该不会有人将大量的数据存储在用户端,这样会有很多问题需要解决。比如服务端客户端的数据同步,多端的数据同步,客户端数据丢失后的恢复工作等等等,想想将用户数据全部存储在都是很危险的。3.websql如果讲indexedDB类比成nosql语法,那么websql则就是传统的sql了。这个websql不想多说,首先使用比较复杂,另外这个标准w3c已经不再维护了,所以不推荐使用了。4.sessionStroage忘说了,语法和localstorage十分相似,只不过生命周期是会话级别的。关闭浏览器就不在了。啰嗦这么多,希望有帮助。