欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

sessionStorage、localStorage与cookie

程序员文章站 2022-03-17 09:49:49
HTML5的WebStorage提供了两种API:localStorage(本地存储)和sessionStorage(会话存储)。 sessionStorage与localStorage区别: 1.sessionStorage在浏览器关闭后自动销毁;而localStorage无期限,除非主动删除。 ......

HTML5的WebStorage提供了两种API:localStorage(本地存储)和sessionStorage(会话存储)。

sessionStorage与localStorage区别:

1.sessionStorage在浏览器关闭后自动销毁;而localStorage无期限,除非主动删除。

2.sessionStorage不在不同的浏览器窗口*享,即使是同一个页面;localStorage 在所有同源窗口中都是共享的;

两者的用法相似:

// 保存或设置数据到sessionStorage
sessionStorage.setItem('key','value')
    
// 获取某个sessionStorage
sessionStorage.getItem('key')
    
// 从sessionStorage删除某个保存的数据
sessionStorage.removeItem('key')
    
// 从sessionStorage删除所有保存的数据
sessionStorage.clear();
// 保存或设置数据到localStorage
localStorage.setItem('key','value')
    
// 获取某个localStorage
localStorage.getItem('key')
    
// 从localStorage删除某个保存的数据
localStorage.removeItem('key')
    
// 从localStorage删除所有保存的数据
localStorage.clear();

 

sessionStorage、localStorage与cookie区别:

1.cookie在浏览器和服务器端来回传递数据,这样无形中浪费了带宽。而localStorage和sessionStorage不会自动把数据发送给服务器,仅会保存在本地;

2.存储大小限制不同,cookie数据不能超过4K,同时因为每次http请求都会携带cookie、所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大;

3.数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭之前有效;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie:只在设置的cookie过期时间之前有效,即使窗口关闭或浏览器关闭;

4.作用域不同,sessionStorage不在不同的浏览器窗口*享,即使是同一个页面;localstorage在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的;

5.web storage拥有setItem,getItem,removeItem,clear等方法,不像cookie需要前端开发者自己封装setCookie,getCookie。