首页 文章

HTML5本地存储与会话存储

提问于
浏览
454

除了非持久性和仅限于当前窗口的范围之外,对本地存储的会话存储有什么好处(性能,数据访问等)?

11 回答

  • 27

    在我看来,会话存储优于本地存储的优势在于它在Firefox中具有unlimited capacity,并且不会持续比会话更长的时间 . (当然这取决于你的目标 . )

  • 621

    localStoragesessionStorage 之间的主要区别在于 sessionStorage 每个标签是唯一的 . 如果关闭选项卡, sessionStorage 将被删除, localStorage 不会 . 标签之间你也无法沟通:)

    另一个细微的区别是,例如在Safari(8.0.3)上 localStorage 限制为2551 k字符,但 sessionStorage 具有无限存储空间

    在Chrome(v43)上, localStoragesessionStorage 都限制为5101 k个字符(普通/私密模式之间没有区别)

    在Firefox上, localStoragesessionStorage 限制为5120 k字符(普通/隐身模式之间没有区别)

    速度没有差别:)

    Mobile Safari和Mobile Chrome也存在问题,私密模式Safari和Chrome的最大空间为0KB

  • 95

    其他几点可能有助于理解本地和会话存储之间的差异

    • 本地存储和会话存储都限定为文档原点,因此

    https://mydomain.com/
    http://mydomain.com/
    https://mydomain.com:8080/

    所有上述URL将 not 共享相同的存储空间 . (网页的通知路径不影响网络存储)

    • 即使对于在不同选项卡中打开具有相同原始策略的文档,会话存储也是不同的,因此在两个不同选项卡中打开的同一网页 cannot 共享相同的会话存储 .

    • 本地存储和会话存储也由 browser vendors 确定范围 . 因此,Chrome或FF无法读取IE保存的存储数据 .

    希望这可以帮助 .

  • 137

    sessionStorage与localStorage相同,只是它只存储一个会话的数据,当用户关闭创建它的浏览器窗口时,它将被删除

  • 6

    Ya会话存储和本地存储在行为上是相同的,除了一个本地存储将存储数据,除非用户删除缓存并且cookie和会话存储数据将保留在系统中直到我们关闭会话i,直到我们关闭会话存储创建窗口 .

  • 5

    localStoragesessionStorage都延伸Storage . 除了"non-persistence"的"non-persistence"之外,它们之间没有区别 .

    也就是说, localStorage 中存储的数据会一直存在,直到被明确删除 . 所做的更改将保存并可用于该网站的所有当前和未来访问 .

    对于 sessionStorage ,更改仅适用于每个窗口(或Chrome和Firefox等浏览器中的标签) . 所做的更改将保存并可用于当前页面,以及将来对网站的访问 on the same window . 窗口关闭后,将删除存储 .

  • 10

    唯一的区别是localStorage具有不同的到期时间, sessionStorage 只能在创建它的窗口打开时才能访问 .
    localStorage 会一直持续到您删除它或用户删除它为止 .
    假设您想保存一个登录用户名和密码,出于安全原因(例如,另一个人稍后访问其帐户),您希望使用 sessionStorage localStorage .
    但是如果你想在他们的机器上保存用户的设置,你可能需要 localStorage . 总而言之:

    localStorage - 用于长期使用 .
    sessionStorage - 当你需要存储变化的东西或临时的东西时使用

  • 1

    Local storage 可存储最多10mb的离线数据(在Chrome 10 mb,在其他浏览器中为5 mb),而 session storage 可存储最多5 mb的数据 . 但cookie只能存储4kb的文本数据 . See More Details Here

  • 9

    Local storage: 它保存用户信息数据而没有过期日期当用户关闭浏览器窗口时,这些数据将不会被删除,它将在一天,一周,一个月和一年中可用 .

    //Set the value in a local storage object
    localStorage.setItem('name', myName);
    
    //Get the value from storage object
    localStorage.getItem('name');
    
    //Delete the value from local storage object
    localStorage.removeItem(name);//Delete specifice obeject from local storege
    localStorage.clear();//Delete all from local storege
    

    Session Storage: 与本地存储日期相同,但是当浏览器窗口被Web用户关闭时,它将删除所有窗口 .

    //set the value to a object in session storege
    sessionStorage.myNameInSession = "Krishna";
    

    阅读更多Click

  • 0
    • sessionStorage为每个给定的源保留一个单独的存储区域,该区域在页面会话期间可用(只要浏览器处于打开状态,包括页面重新加载和恢复)

    • localStorage执行相同的操作,但即使关闭并重新打开浏览器也会保留 .

    我从https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API拿走了这个

  • 9

    性能方面,我的(粗略)测量结果发现1000次写入和读取没有差异

    安全方面,直观地说,似乎localStore可能会在sessionStore之前关闭,但没有具体的证据 - 也许其他人呢?

    功能明智,与上面的digitalFresh一致

相关问题