數據存貯一

  講到數據存貯,通常有cookie、sessionStorage、localStorage、Web Storage
cookie
          只適合保存很小的數據,不能超過4k;
          cookie數據始終在同源的http請求中攜帶,即cookie在瀏覽器和服務器之間來回傳遞
          只在設置的cookie過時時間以前一直有效,即便窗口或瀏覽器關閉
          cookie數據還有路徑(path)的概念,能夠限制cookie只屬於某個路徑下。
          在全部同源窗口中都是共享的
 
sessionStorage
          僅在當前瀏覽器窗口關閉前有效,
          僅在本地存儲
          不在不一樣的瀏覽器窗口中共享,即便是同一個頁面
 
localStorage
        永久存儲,永不失效,除非手動刪除
        在全部同源窗口中都是共享的
Web Storage
        概念和cookie類似,區別是它是爲了更大容量存儲設計的。
        擁有setItem,getItem,removeItem,clear等方法,不像cookie須要前端開發者本身封裝setCookie,getCookie。
 
總結  
Cookie的做用是與服務器進行交互,做爲HTTP規範的一部分而存在 ,而Web Storage僅僅是爲了在本地「存儲」數據而生。        
sessionStorage不在不一樣的瀏覽器窗口共享,即便是同一個頁面
localStorage和cookies是在全部同源窗口中共享的
 
適用狀況:
Web Storage的概念和cookie類似,區別是它是爲了更大容量存儲設計的。Cookie的大小是受限的,而且每次你請求一個新的頁面的時候Cookie都會被髮送過去,這樣無形中浪費了帶寬,另外cookie還須要指定做用域,不能夠跨域調用。
sessionStorage用於本地存儲一個會話(session)中的數據,這些數據只有在同一個會話中的頁面才能訪問而且當會話結束後數據也隨之銷燬。所以sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲
cookies數據始終在同源的http請求中攜帶(即便不須要),適合保存很小的數據
本地存儲:只有本地瀏覽器端可訪問數據,服務器不能訪問本地存儲直到故意經過POST或者GET的通道發送到服務器;每一個域5MB;沒有過時數據,它將保留知道用戶從瀏覽器清除或者使用Javascript代碼移除.Web Storage 支持事件通知機制,能夠將數據更新的通知發送給監聽者。Web Storage 的 api 接口使用更方便。