起因:
昨日(2022.6.20)在前端面试过程中,错误的纠正了面试同学的一个问题: session常见用途及能否被客户端调用。
非常抱歉,在得知有一点不对劲后我立刻查阅相关资料,包括但不限于:《JavaScript高级程序设计(第3版)》,百度搜索引擎搜录的相关帖子文章等途径
常见几种本地存储方案
- Cookie
- Web Strong
- IndexedDB
Cookie
未指定过期时间的话,则按照浏览器默认过期时间销毁掉。
Domain为指定的父级域名的话,此父级域名下均可使用此cookie。
推荐使用:js-cookie
来操作cookie
Web Strong
localStronge
localStronge存储生命周期为:除非手动清除,否则一直存在。
localStronge
sessionStronge存储生命周期为:关闭浏览器和关闭标签页后存储内容销毁,而非刷新页面销毁存储内容。
sessionStrong在我经手的项目中很少有客户端主动将数据存储到此的,一般为服务端把数据放到此处。
两者都作用于本级域名下,存储大小一般不超过2.5MB为宜。
两个API几乎一样:
增/修:
localStronge/localStronge .setItem(key, value)
查:
localStronge/localStronge .getItem(key)
删:
localStronge/localStronge .removeItem(key)
IndexedDB
是一个异步操作、保存结构化数据的一种数据库。
WEB SQL,基本不用 了解即可。
参考资料:《JavaScript高级程序设计(第3版)》
欢迎投递我们公司,正全面招聘前端、Java开发。