localStorage,sessionStorage和cookie的区别

只能说是面试常考题了,特别是在项目中使用到这几个的任何一个,基本都会进行提问区别。于是决定进行好好总结。

共同点:
都是用于数据存储,将数据存储在浏览器端,满足同源策略。(同源策略是用于限制一个源和另一个源进行交互的安全策略,同源:协议、端口号、主机都相同)

区别:

  1. 保存方式区别:cookie数据始终在同源的http请求中携带,即cookie会在浏览器和服务器之间来回传递,但可以通过路径限制其只属于某个路径下有效。而sessionStorage和localStorage不会把数据发给服务器,仅在本地保存
  2. 存储大小限制不同:cookie数据不能超过4K,只适合保存很小的数据,如会话标识。sessionStorage和localStorage可存储的大小在5M或以上。
  3. 数据有效期不同:sessionStorage仅在当前浏览器窗口关闭前有效localStorage始终有效,窗口或浏览器关闭也一直保存;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
  4. 作用域不同:sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localStorage和cookie在所有同源窗口中共享

猜你喜欢

转载自blog.csdn.net/weixin_46920847/article/details/123677170