Cookie、sessionStorage和localStorage之间的区别

Cookie、sessionStorage和localStorage之间的区别
最新回答
想你想到脑子短路

2021-04-16 01:52:16

1.共同点

都是保存在 浏览器 端,并且是 同源 的

2.区别

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

②存储大小的限制不同:

cookie数据不能超过4k ,同时因为 每次http请求都会携带cookie ,所以 cookie只适合保存很小 的数据,比如 会话标识 。

sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大的多, 可以达到5M或更大 。

③数据的有效期限不同

cookie 只在设置的 过期时间之前 有效,即使窗口关闭或浏览器关闭

sessionStorage 只在 当前浏览器窗口关闭之前 有效(面向session的浏览器存储,因此只存在于一个页面的生命周期,关闭即清除,采用 键值对 的形式存储数据)

localStorage一直有效 ,即使窗口或浏览器关闭也会一直对数据进行保存,因此 用作持久数据

④作用域不同

cookie 在 所有 的 同源 窗口中是 共享 的

sessionStorage 不在不同的浏览器窗口中共享,即使是同一个页面

localStorage 在 所有同源窗口中都是共享的