HTML5本地存储与会话存储

2020/09/23 21:01 · javascript ·  · 0评论

除了是非持久性的并且仅限于当前窗口之外,会话存储与本地存储相比是否还有其他好处(性能,数据访问等)?

localStoragesessionStorage都扩展了Storage除了的预期的“非持久性”外,它们之间没有任何区别sessionStorage

也就是说,存储在中的数据将localStorage 一直保留到明确删除为止所做的更改将被保存,并且可用于当前和将来对该站点的所有访问。

对于sessionStorage更改仅在每个选项卡上可用。所做的更改将保存并在该选项卡中可用于当前页面直到关闭为止。一旦关闭,存储的数据将被删除。

唯一的区别是localStorage的到期时间不同,sessionStorage只能在打开它的窗口打开时才能访问。
localStorage持续到您删除它或用户删除它为止。

比方说,你想保存登录用户名和密码,您可能需要使用
sessionStorage超过localStorage出于安全原因(即另一人在以后的时间访问他们的帐户)。
但是,如果您想将用户的设置保存在他们的计算机上,则可能需要这样做localStorage总而言之:

localStorage-长期使用。
sessionStorage-在需要存储更改或临时存储的东西时使用

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

  1. 本地存储和会话存储都限于文档来源,因此

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

    以上所有URL 不会共享同一存储空间。(网页的通知路径不会影响网络存储)

  2. 即使在不同选项卡中打开了相同原始策略的文档,会话存储也有所不同,因此在两个不同选项卡中打开的同一网页无法共享相同的会话存储。

  3. 本地存储和会话存储也受浏览器供应商的限制因此,Chrome或FF无法读取IE保存的存储数据。

希望这可以帮助。

之间的主要区别localStoragesessionStoragesessionStorage为每个标签是唯一的。如果关闭选项卡sessionStoragelocalStorage则不会删除您也无法在标签之间进行通信:)

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

在Chrome(V43)都localStoragesessionStorage被限制为5101个ķ字符(正常/无痕模式之间没有差别)

在Firefox localStorageFirefox上均sessionStorage限制为5120 k个字符(正常/私有模式之间没有区别)

速度没有任何区别:)

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

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

在性能方面,我的(粗略)测量发现1000次读写没有区别

从安全性的角度来看,直观上看,localStore可能在sessionStore之前已关闭,但没有具体证据-也许有人这样做?

在功能上明智,与上述digitalFresh相同

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

我认为,会话存储相对于本地存储的优势在于,它在Firefox中具有无限的容量,并且持续时间不会超过会话。(当然,这取决于您的目标。)

本地存储:一直存储用户信息数据,没有到期日期。当用户关闭浏览器窗口时,该数据将不会被删除,它将在日,周,月和年可用。

//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

会话存储:它与本地存储日期相同,不同之处在于它将在Web用户关闭浏览器窗口时删除所有窗口。

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

阅读更多请点击

  • sessionStorage 为每个给定的来源维护一个单独的存储区域,该存储区域在页面会话期间有效(只要浏览器处于打开状态,包括页面重新加载和还原)

  • localStorage 做同样的事情,但是即使关闭并重新打开浏览器也仍然存在。

我是从https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Storage_API上获取的

本文地址:http://javascript.askforanswer.com/html5bendicunchuyuhuihuacunchu.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!