cookie, sessionStorage, localStorage之间的差异

共同点:
它们都保存在浏览器,且同源的;
不同点:

  1. cookie 数据始终在同源的 http 请求中携带(即使不需要),也就是说 cookie 在浏览器和服务器之间来回传递,而 session Storagelocal Storage 不会自动把数据发送给服务器,仅在本地保存。cookie 还有(path)的概念,可以限制 cookie 只属于某个路径下。
  2. 存储大小的限制也不同,cookie 数据不能超过4k, 因为每次http请求都会携带 cookie, 所以 cookie 只适合存很小的数据,比如会话标识;session Storagelocal Storage 虽然也有存储大小限制,但比 cookie 大得多,可以达到5K或者更多。
  3. 数据有效期不同,sessionStorage: 仅在当前浏览器窗口关闭之前有效;localStorage: 始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie: 只在设置的 cookie 过期时间之前有效,即使窗口关闭或者浏览器关闭。
  4. 作用域不同,sessionStorage: 不在不同的浏览器窗口共享,即使是同一页面;localStorage:在所有同源窗口中都是共享的;cookie 也是在所有同源窗口中共享的。
  5. web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者;
  6. web Storage 的api接口使用更方便;
posted @ 2022-03-09 11:13  太轻描淡写了  阅读(73)  评论(0编辑  收藏  举报