cookie sessionStorage localStorage 區別

sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,能夠方便的在web請求之間保存數據。有了本地數據,就能夠避免數據在瀏覽器和服務器間沒必要要地來回傳遞。web

共同點:

都是保存在瀏覽器端,且同源的。api

區別:

  1. cookie 數據始終在同源的 http 請求中攜帶(即便不須要),即 cookie 在瀏覽器和服務器間來回傳遞。而 sessionStorage 和 localStorage 不會自動把數據發給服務器,僅在本地保存。
  2. 存儲大小限制不一樣。cookie 數據不能超過4k,同時由於每次http請求都會攜帶 cookie,因此 cookie 只適合保存很小的數據,如會話標識。sessionStorage 和 localStorage 雖然也有存儲大小的限制,但比 cookie 大得多,能夠達到5M或更大。瀏覽器

  3. 數據有效期不一樣。sessionStorage:僅在當前瀏覽器窗口關閉前有效,天然也就不可能持久保持;localStorage:始終有效,窗口或瀏覽器關閉也一直保存,所以用做持久數據;cookie只在設置的 cookie 過時時間以前一直有效,即便窗口或瀏覽器關閉。服務器

  4. 做用域不一樣。sessionStorage 不在不一樣的瀏覽器窗口中共享,即便是同一個頁面;localStorage 在全部同源窗口中都是共享的;cookie 也是在全部同源窗口中都是共享的。cookie

  5. cookie 數據有路徑(path)的概念,能夠限制 cookie 只屬於某個路徑下。session

  6. Web Storage 支持事件通知機制,能夠將數據更新的通知發送給監聽者。spa

  7. Web Storage 的 api 接口使用更方便。接口

相關文章
相關標籤/搜索