一、先说说cookie
1、大小的限制:cookie的大小被限制在4KB
2、带宽的限制:只要有涉及cookie的请求,cookie数据都会在服务器和浏览器间来回传送。这样无论访问哪个页面,cookie数据都会消耗网络的带宽
3、安全风险:由于cookie会频繁地在网络中传送,而且数据在网络中是可见的,因此在不加密的情况下,是有安全风险的。
二、用Web Storage存储的优势
Web Storage可以在客户端保存大量的数据,而且通过其提供的接口,访问数
据也非常的方便。然而,WebStorage的诞生并不是为了替代cookie,相反,是
为了弥补cookie在本地存储中表现的不足。
1、存储容量:提供更大的存储容量。在Firefox、Chrome、Safari和Opera中,每个网域为5MB;在IE8及以上为10MB。
2、零带宽:Web Storage因为是本地存储,不与服务器发生交互行为,所以不存在带宽的占用。
3、编程接口:Web Storage提供了一套丰富的编程接口,使得数据操作更加方便
4、独立的存储空间:每个域都有独立的存储空间,各个存储空间是完全独立的,因此不会造成数据的混乱。
因此,Web Storage并不能完全替代cookie,cookie能做的事情,Web Storage不一定能做到,如服务器可以访问cookie数据,但是不能访问Web Storage数据。所以Web Storage和cookie是相互补充的,会在各自不同领域发挥作用。
随着移动互联网的发展,浏览器端的富应用必然是一种趋势。
三. 会话存储(sessionStorage)和本地存储(localStorage)的区别
Web Storage包括会话存储(sessionStorage)和本地存储(localStorage)
。熟悉Web变成的人员第一次接触WebStorage时,会自然的与session和cookie
去对应。不同的是,cookie和session完全是服务器端可以操作的数据,但是se
ssionStorage和localStorage则完全是浏览器客户端操作的数据。sessionStor
age和localStorage完全继承同一个StorageAPI,所以sessionStorage和localS
torage的编程接口是一样的。sessionStorage和localStorage的主要区别在于
数据存在的时间范围和页面范围。
1、sessionStorage数据只在构建他们的窗口可见,关闭窗口数据就会被清除
2、localStorage数据可共享于同源(域名,协议,端口相同)窗口,数据永
久保存,废除自己清楚浏览器保存数据
四. 保存和获取Storage数据
1、保存数据到sessionStorage或localStorage
window.sessionStorage.setItem("key","value")
window.localStorage.setItem("key","value")
Key为键是保存到客户端的数据名,value为值,setItem()表示保存数据的方法
注意:需要使用JSON.stringify()转化为字符串
2、从sessionStorage或localStorage中获取数据
value = window.sessionStorage.getItem("key")
value = window.localStorage.getItem("key")
注意:使用数据需要使用JSON.parse()转化为原始类型