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