浅聊前端本地存储

532 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本地存储的 localStorage 和 sessionStorage

什么是本地存储

  • 通过本地存储(Local Storage),web 应用程序能够在用户浏览器中对数据进行本地的存储。
  • 在 HTML5 之前,应用程序数据只能存储在 cookie 中,包括每个服务器请求。本地存储则更安全,并且可在不影响网站性能的前提下将大量数据存储于本地。
  • 与 cookie 不同,存储限制要大得多(至少5MB),并且信息不会被传输到服务器。

注意:

  • 不同域名下面设置同样的本地存储是不会冲突的,因为不同域名下面访问的页面不同
  • 不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的 localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。

cookie、localStorage 和 sessionStorage的区别

特性CookielocalStoragesessionStorage
数据的生命期一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效除非被清除,否则永久保存仅在当前会话下有效,关闭页面或浏览器后被清除
存放数据大小4K左右一般为5MB
与服务器端通信每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题仅在客户端(即浏览器)中保存,不参与和服务器的通信
易用性需要程序员自己封装,源生的Cookie接口不友好源生接口可以接受,亦可再次封装来对Object和Array有更好的支持