Cookie
cookie是客户端用来存储数据的,它既可以在客户端设置也可以在服务器端设置。cookie会跟随任意HTTP请求一起发送
Web Storage
html5标准中的Web Storage包括了两种存储方式:sessionStorage和localStoragesessionStorage用于本地存储一个会话中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage仅仅是会话级别的存储
而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的
区别
Web Storage和Cookie相似都是客户端用来存储数据的,区别是它是为了更大容量存储设计的Cookie的大小是受限的,最多只能存储4KB的数据;并且每次你请求一个新的页面的时候,Cookie都会被发送过去,这样无形中浪费了带宽;再有就是不安全,很容易被拦截者截取进行篡改Web Storage拥有setItem、getItem、removeItem、clear等方法,不像cookie需要自己封装setCookie、getCookie等方法
但是Cookie也是不可以或缺的:Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地存储数据而生
操作方法
-
setItemsessionStorage.setItem("name","leoyaojy"); localStorage.setItem("website","luckyw.cn"); -
getItemsessionStorage.getItem("name"); //leoyaojy localStorage.getItem("website"); //luckyw.cn -
removeItemsessionStorage.removeItem("name"); localStorage.removeItem("website"); -
clearsessionStorage.clear(); localStorage.clear(); -
其他操作方法:
点操作和[]sessionStorage.name = "leoyaojy"; console.log(sessionStorage["name"]); localStorage["website"] = "luckyw.cn"; console.log(localStorage.website); -
key()和length遍历数据for (var i=0, len = localStorage.length; i<len; i++){ var key = localStorage.key(i); var value = localStorage.getItem(key); console.log(key + "=" + value); }
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。