共同點:
都是保存在瀏覽器端,且同源的
cookie有什么缺點?
Cookie數量和長度的限制。每個domain最多只能有20條cookie,每個cookie長度不能超過4KB
安全性問題。如果cookie被人攔截了,那人就可以取得所有的session信息。
區別:
1、cookie數據始終在同源的http請求中攜帶(即使不需要),即cookie在瀏覽器和服務器間來回傳遞
2、cookie數據還有路徑(path)的概念,可以限制。cookie只屬於某個路徑下、
3、存儲大小限制也不同,cookie數據不能超過4K,同時因為每次http請求都會攜帶cookie,所以cookie只適合保存很小的數據,如回話標識。
4、webStorage雖然也有存儲大小的限制,但是比cookie大得多,可以達到5M或更大
5、數據的有效期不同
sessionStorage:僅在當前的瀏覽器窗口關閉有效;
localStorage:始終有效,窗口或瀏覽器關閉也一直保存,因此用作持久數據;
cookie:只在設置的cookie過期時間之前一直有效,即使窗口和瀏覽器關閉
6、作用域不同
sessionStorage:不在不同的瀏覽器窗口中共享,即使是同一個頁面;
localStorage:在所有同源窗口都是共享的;
cookie:也是在所有同源窗口中共享的
7、webStorage支持事件通知機制,可以將數據更新的通知發生給監聽者
8、webStorage的API借口使用更方便 。setItem getItem clearItem
window。sessionStorage/window。 localStorage
setItem(key,val)設置
getItem(key)獲取
webStorage。removeItem(key)刪除單個
webStorage.clear()清除所有
webStorage只能操作
字符串對象,所有的存儲值都會為字符串數據
