有几种前端存储方式?这几种方式的区别是什么?
- cookies: 在HTML5标准前本地存储的主要方式,优点是兼容性好,请求头自带cookies方便,缺点是大小只有4k,自动请求头加入cookie浪费流量,每个domain限制20个cookies,使用起来麻烦需要自行安装
- localStorage: HTML5加入的以键值对(Key-Value)为标准的方式,优点是操作方便,永久性存储(除非手动删除),大小为5M,兼容IE8+
- sessionStorage: 与localStorage基本类似,区别是sessionStorage当页面关闭后会被清理,而且与cookie、localStorage不同,他不能在所有同源窗口中共享,是会话级别的存储方式
- Web SQL: 2010年被W3C废弃的本地数据库数据存储方案,但是主流的浏览器都已经有了相关的实现,web sql类似于SQLite,是真正意义上的关系型数据库,用sql进行操作,当我们用javascript时用进行转换,较为繁琐。
- indexedDB: 是被正式纳入HTML5标准的数据库储存方案,他是NoSQL数据库,用键值对进行储存,可以进行快速读取操作,非常适合web场景,用时用javascript进行操作会非常方便