一、Localstorage、sessionStorage、cookie 的区别是什么?

共同点:都是保存在浏览器端的,且同源的。

区别:

1.cookie数据始终携带在同源的http请求中,即cookie在浏览器和服务器间来回传递,而sessionStorage和Localstorage不会自动把数据发送给服务器,只在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。

2.存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所有cookie只适合保存很小的数据。如会话标识。sessionStorage和Localstorage虽然也有大小储存的限制,但比cookie大很多。可以达到5M或更大。

3.数据有效期不同,sessionStorage,仅在当前浏览器窗口关闭之前有效,Localstorage始终有效,窗口或者浏览器关闭也一直保存,除非手动删除,cookie只在设置的cookie过期时间之前有效,即使窗口关闭或浏览器关闭。

4.作用域不同,sessionStorage不能在不同的浏览器中共享,即使是同一个页面,locastorage在所有的同源窗口中都是共享的,cookie也是在所有同源窗口中共享的。

5.web Storage支持事件通知机制,可以将数据更新的通知发送给监听者。

6.web storage 的api接口使用更方便。

二、H5的浏览器储存有哪些?

1.cookie

cookie自身有一个过期属性,并且在每次的通信过程中会传送向服务端。

2.localStorage、sessionStorage

-localStorage:永久储存,除非手动删除就一直存在。

-sessionStorage:只存在一个页面周期内,页面关闭就清除了。

3.indexedDB

内嵌在浏览器端的非关系型数据库,数据以键值对的形式存储,兼容性良好 indexDB 直接操作的存储对象是 ObjectStore,这有点类似其他数据库中 table 概念。

4.websql

内嵌在浏览器的关系型数据库,前端可以像在使用 mysql、Oracle 一样的写 sql 语 句,并存储信息。兼容性良好。存储后可在浏览器 resource 中查看

5.window变量

生命周期有限,一般不使用,常用于全局变量的临时储存。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐