JS中可以用來儲存使用者資料的方法或方式
阿新 • • 發佈:2019-02-09
sessionStorage,localStorage和cookie都是用來儲存使用者資料的方式,sessionStorage和localStorage是HTML5 Web StorageAPI中提供的,可以方便的在web請求之間儲存資料,有了本地資料,就可以避免資料在瀏覽器和伺服器之間不必要的來回傳遞,sessionStorage,localStorage和cookie都是儲存在瀏覽器端,且同源的.
(1) cookie 資料始終在同源的http請求中攜帶,即cookie在瀏覽器和伺服器之間來回傳遞.而sessionStorage不會自 動把資料發給伺服器,僅在本地儲存..
(2) 儲存大小限制也不同,cookie資料不能超過4k,同時因為每次http請求都會攜帶cookie,所以cookie只適合儲存很小的資料,如會話標誌.sessionStorage和localStrage雖然也有儲存大小的限制,但是比cookie大得多,可以達到5M或更大.
(3) 資料有效期不同,sessionStorage:僅在當前瀏覽器視窗關閉前有效,自然也就不可能持久保持;localStorage:始終有效,視窗和瀏覽器關閉也一直儲存,因此用作持久資料的儲存;cookie在設定的cookie過期時間之前一直有效,即使視窗或瀏覽器關閉.
(4) 作用域不同,sessionStorage不在不同的瀏覽器視窗中共享,即使是同一個頁面,localStorage在所有同源視窗中都是共享的,cookie也是在所有的同源視窗中都是共享的.
Web Storage支援事件通知機制,可以將資料更新的通知傳送給監聽者,但是.Web Storage的api 介面使用更加方便!