相关资料:
SessionStorage, LocalStorage, Cookie这三者都可以被用来在浏览器端存储数据,而且 都是字符串类型的键值对。区别在于前两者属于HTML5 WebStorage,创建它们的目的便于客 户端存储数据。而cookie是网站为了标示用户身份而储存在用户本地终端上的数据(通常经 过加密)。cookie数据始终在同源(协议、主机、端口相同)的http请求中携带(即使不 需要),会在浏览器和服务器间来回传递。
存储大小:
1、 cookie数据大小不能超过4 k。
2、 sessionStorage和localstorage虽然也有存储大小的限制,但比cookie大得多,可 以达到5M或更大。
有期时间:
1、 localstorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据。
2、 sessionStorage数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持, 并且重新加载或恢复页面仍会保持原来的页面会话。在新标签或窗口打开一个页面时会在顶级 浏览上下文中初始化一个新的会话。
3、 cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
作用域:
1、 sessionstorage只在同源的同窗口(或标签页)中共享数据,也就是只在当前会话中共 享。
2、 localStorage 在所有同源窗口中都是共享的。
3、 cookie 在所有同源窗口中都是共享的。
浏览器端常用的存储技术是cookie、localStorage和sessionStorage。
cookie其实最开始是服务器端用于记录用户状态的一种方式,由服务器设置,在客户端存储, 然后每次发起同源请求时,发送给服务器端。cookie最多能存储4 k数据,它的生存时间由 expires属性指定,并且cookie只能被同源的页面访问共享。
sessionStorage是html5提供的一种浏览器本地存储的方法,它借鉴了服务器端session 的概念,代表的是一次会话中所保存的数据。它一般能够存储5M或者更大的数据,它在当前 窗口关闭后就失效了,并且sessionStorage只能被同一个窗口的同源页面所访问共享。
localStorage也是html5提供的一种浏览器本地存储的方法,它一般也能够存储5M或者更 大的数据。它和sessionStorage不同的是,除非手动删除它,否则它不会失效,并且 localStorage也只能被同源页面所访问共享。
上面几种方式都是存储少量数据的时候的存储方式,当我们需要在本地存储大量数据的时候, 我们可以使用浏览器的indexDB这是浏览器提供的一种本地的数据库存储机制。它不是关系 型数据库,它内部采用对象仓库的形式存储数据,它更接近NoSQL数据库。
Was this helpful?
0 / 0