相同点:客户端都会存储
不同点
不同点 | 存储大小 | 有效时间 | 数据与服务器交互方式 |
cookies | <=4K | 在设置cookie过期之前一直有效(无论窗口浏览器是否关闭) | 正常情况下,cookies数据会自动传到服务器,服务器也可以写cookie到客户端 |
sessionstorage | 5M | 数据在当前浏览器关闭后删除(sessionStorage与存储数据的顶级窗口或浏览器选项卡具有相同的生命周期。) | 不会发送数据到服务端 |
localstorage | 5M | 持久存储,浏览器关闭后不会丢失除非主动删除(直到Web应用程序删除它或用户要求浏览器删除它) | 不会发送数据到服务端 |
localstorage和sessionstorage都是H5提供的新的存储类型,以前只有cookies来完成存储的工作。
这两种新方式存储限制比使用cookie要大得多(至少5MB),而且速度更快。
数据永远不会传输到服务器,只有在客户端特别要求时才能使用。
通过localStorage存储的数据是永久性的:它不会过期并保留在用户的计算机上,直到Web应用程序删除它或用户要求浏览器删除它。
sessionStorage与存储数据的顶级窗口或浏览器选项卡具有相同的生命周期。当选项卡永久关闭时,将删除通过sessionStorage存储的所有数据。
localStorage和sessionStorage之间关于存储范围的差异:两种存储形式都限定在文档原点,以便具有不同来源的文档永远不会共享存储的对象。
sessionStorage也是基于每个窗口的范围。包含来自同一来源的文档的两个浏览器选项卡具有单独的sessionStorage数据。
与localStorage不同,来自同一源的相同脚本在不同选项卡中打开时无法访问彼此的sessionStorage。