本地存储和cookie有什么区别?

Z, ZLW 58

本地存储和cookie有区别:1. cookie在浏览器和服务器间来回传递,localStorage仅在本地保存;2. cookie只适合保存很小的数据,sessionStorage和localStorage 比cookie大得多;3. 数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效;localStorage:始终有效;4. 作用域不同,sessionStorage不在不同的浏览器窗口中共享,localStorage 在所有同源窗口中都是共享的。

1、本地存储

localStorage 是 HTML5 标准中新加入的技术,它并不是什么划时代的新东西。早在 IE 6 时代,就有一个叫userData 的东西用于本地存储,而当时考虑到浏览器兼容性,更通用的方案是使用 Flash。而如今, localStorage被大多数浏览器所支持,如果你的网站需要支持 IE6+,那以 userData 作为你方案是种不错的选择。

2、cookie

Cookie 是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限制为 4KB 左
右。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”, 这通常就是通过在 Cookie
中存入一段辨别用户身份的数据来实现的。

3、区别

1. cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。

2. cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。

3. 数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。

4. 作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。Web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者。Web Storage 的 api 接口使用更方便。

回复

我来回复
  • 暂无回复内容

联系我们
关注微信
关注微信
分享本页
返回顶部