localStorage/sessionStorage与cookie的区别

一、localStorage/sessionStorage

  localStorage:

    1、localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在

    2、存放数据大小为一般为5MB

    3、它仅在客户端(即浏览器)中保存不参与和服务器的通信

  sessionStorage:

    1、sessionStorage仅在当前会话下有效,关闭页面或浏览器后被清除

    2、存放数据大小为一般为5MB

    3、它仅在客户端(即浏览器)中保存,不参与和服务器的通信

  不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的 localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。这里需要注意的是,页面及标 签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的

二、cookie

  1、生命期为只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭

  2、存放数据大小为4K左右

  3、有个数限制(各浏览器不同),一般不能超过50个

  4、与服务器端通信:每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题

三、区别

  1、存放数据的大小:localStorage、sessionStorage的可以存放的数据大小明显大于cookie的可以存放数据大小

  2、与服务器端通信:cookie会被携带在请求头中,而localStorage/sessionStorage不会参与与服务器的通信

  3、会话级别:localStorage永久会话级别,sessionStorage浏览器关闭会话结束,cookie是根据他自身参数expires所设置的时间来决定会话级别

  4、个数限制:localStorage/sessionStorage无限制,cookie根据浏览器的不同,个数稍有区别,一般不会超过50个

  注:关于cookie的每个浏览器的个数限制

posted @ 2019-10-17 09:56  元哥0317  阅读(1001)  评论(0编辑  收藏  举报