cookie與sessionStorage機制

sessionStorage、localStorage和cookie的區別 web

共同點:都是保存在瀏覽器端、且同源的 
區別: 
一、cookie數據始終在同源的http請求中攜帶(即便不須要),即cookie在瀏覽器和服務器間來回傳遞,而sessionStorage和localStorage不會自動把數據發送給服務器,僅在本地保存。cookie數據還有路徑(path)的概念,能夠限制cookie只屬於某個路徑下 
二、存儲大小限制也不一樣,cookie數據不能超過4K,同時由於每次http請求都會攜帶cookie、因此cookie只適合保存很小的數據,如會話標識。sessionStorage和localStorage雖然也有存儲大小的限制,但比cookie大得多,能夠達到5M或更大 
三、數據有效期不一樣,sessionStorage:僅在當前瀏覽器窗口關閉以前有效;localStorage:始終有效,窗口或瀏覽器關閉也一直保存,所以用做持久數據;cookie:只在設置的cookie過時時間以前有效,即便窗口關閉或瀏覽器關閉 
四、做用域不一樣,sessionStorage不在不一樣的瀏覽器窗口中共享,即便是同一個頁面;localstorage在全部同源窗口中都是共享的;cookie也是在全部同源窗口中都是共享的 
五、web Storage支持事件通知機制,能夠將數據更新的通知發送給監聽者 
六、web Storage的api接口使用更方便api

 

項目實例:瀏覽器

同一個帳號登錄,菜單權限根據登錄接口返回的數據進行判斷,並將該數據存儲在sessionStorage中,以後,用戶若是將登錄後的首頁連接複製,在不一樣窗口打開,sessionStorage的數據不會跟着帶過去,菜單顯示就會出現問題服務器

相關文章
相關標籤/搜索