sessionStorage、localStorage、cookie和IE User Data(一)

前言:Web浏览器通常会提供“记住密码”功能,这些密码会议加的方式安全的存储到硬盘上,但是接下来讲到的任何形式客户端数据存储都不牵涉加密。任何存储在用户硬盘上的数据都是未加密的,所以拥有电脑访问权的恶意用户以及计算机存在的恶意软件同样可以获取到存储的数据。为了安全,所以我在此建议大家,一些比较重要的密码不要在浏览器上不要保存密码。

sessionStorage和localStorage都是window对象上定义的两个属性,他们都代表同一个Storage对象——一个持久化关联的数组。他们的区别在于储存的有效期和作用域不同。下面贴出sessionStorage、localStorage、cookie、IE User Data在默认的情况下它们的作用域和有效期:

                                                          作用域                                                           有效期                            


    sessionStorage                    同一文档源 同一浏览器的最顶层窗口                            关闭浏览器之前                                                                        


    localStorage                              同一文档源  同一浏览器                                           永久性                                                                                                   


    cookie                                 页面同目录或子目录的网页可见                                  关闭浏览器之前    


   IE User Date                             当前文档同目录的文档中                                           永久有效


 但是它们的部分作用域和有效器可以进行手动设置。

localStorage的作用域是限定在文档源(由协议,主机名以及端口来确定)级别的,同源文档共享同样的 localStorage数据,它们可以读取、覆盖对方的数据。非同源的话就不可以了。还有一个影响因素就是浏览器,使用火狐打开网站,下一次用其他的浏览器打开就不能获取到数据。

localStorage的有效期是永久的,除非Web运用刻意删除存储数据,或者通过设置浏览器配置来删除。

sessionStorage的作用域限定在同源文档以及同窗口,同源的文档渲染不同的浏览器标签页中,它们的sessionStorage数据是各自的,无法共享;这时,不能在这个浏览器打开的页面窗口去读取、修改另一个浏览器打开的标签页面写入的数据。 同窗口指的是顶级窗口,一个浏览器标签页包含两个<iframe>元素,它们包含的文档是同源,可以共享sessionStorage。

sessionStorage的有效期是在关闭窗口或标签页之前(现在很多浏览器有重新 打开关闭窗口功能,这些页面的sessionStorage有效期可能会长一些)。

原文地址:https://www.cnblogs.com/CloverH/p/5140739.html