cookie sessionStorage localStorage 区别

sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,能够方便的在web请求之间保存数据。有了本地数据,就能够避免数据在浏览器和服务器间没必要要地来回传递。web

共同点:

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

区别:

  1. cookie 数据始终在同源的 http 请求中携带(即便不须要),即 cookie 在浏览器和服务器间来回传递。而 sessionStorage 和 localStorage 不会自动把数据发给服务器,仅在本地保存。
  2. 存储大小限制不一样。cookie 数据不能超过4k,同时由于每次http请求都会携带 cookie,因此 cookie 只适合保存很小的数据,如会话标识。sessionStorage 和 localStorage 虽然也有存储大小的限制,但比 cookie 大得多,能够达到5M或更大。浏览器

  3. 数据有效期不一样。sessionStorage:仅在当前浏览器窗口关闭前有效,天然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,所以用做持久数据;cookie只在设置的 cookie 过时时间以前一直有效,即便窗口或浏览器关闭。服务器

  4. 做用域不一样。sessionStorage 不在不一样的浏览器窗口中共享,即便是同一个页面;localStorage 在全部同源窗口中都是共享的;cookie 也是在全部同源窗口中都是共享的。cookie

  5. cookie 数据有路径(path)的概念,能够限制 cookie 只属于某个路径下。session

  6. Web Storage 支持事件通知机制,能够将数据更新的通知发送给监听者。spa

  7. Web Storage 的 api 接口使用更方便。接口

相关文章
相关标签/搜索