cookie
是客戶端用來存儲數據的,它既能夠在客戶端設置也能夠在服務器端設置。cookie
會跟隨任意HTTP
請求一塊兒發送html
html5
標準中的Web Storage
包括了兩種存儲方式:sessionStorage
和localStorage
sessionStorage
用於本地存儲一個會話中的數據,這些數據只有在同一個會話中的頁面才能訪問而且當會話結束後數據也隨之銷燬。所以sessionStorage
僅僅是會話級別的存儲
而localStorage
用於持久化的本地存儲,除非主動刪除數據,不然數據是永遠不會過時的html5
Web Storage
和Cookie
類似都是客戶端用來存儲數據的,區別是它是爲了更大容量存儲設計的Cookie
的大小是受限的,最多隻能存儲4KB
的數據;而且每次你請求一個新的頁面的時候,Cookie
都會被髮送過去,這樣無形中浪費了帶寬;再有就是不安全,很容易被攔截者截取進行篡改Web Storage
擁有setItem
、getItem
、removeItem
、clear
等方法,不像cookie
須要本身封裝setCookie
、getCookie
等方法
可是Cookie
也是不能夠或缺的:Cookie
的做用是與服務器進行交互,做爲HTTP
規範的一部分而存在 ,而Web Storage
僅僅是爲了在本地存儲數據而生web
setItem
安全
sessionStorage.setItem("name","leoyaojy"); localStorage.setItem("website","luckyw.cn");
getItem
服務器
sessionStorage.getItem("name"); //leoyaojy localStorage.getItem("website"); //luckyw.cn
removeItem
cookie
sessionStorage.removeItem("name"); localStorage.removeItem("website");
clear
session
sessionStorage.clear(); localStorage.clear();
其餘操做方法:點操做
和[]
設計
sessionStorage.name = "leoyaojy"; console.log(sessionStorage["name"]); localStorage["website"] = "luckyw.cn"; console.log(localStorage.website);
key()
和length
遍歷數據code
for (var i=0, len = localStorage.length; i<len; i++){ var key = localStorage.key(i); var value = localStorage.getItem(key); console.log(key + "=" + value); }