cookie、sessionStorage、localStorage的區別?

  • 數據存儲位置

三者都是存儲在遊覽器本地的

區別在於cookie是伺服器端寫入的,而sessionStorage、localStorage是由前端寫入的

  • 生命周期

cookie的生命周期是由伺服器端寫入的時候就設置好的

而localStorage一直存在除非手動清除

sessionStorage是在頁面關閉後自動清除

  • 存儲大小

cookie的存儲空間大概4KB,sessionStorage和localStorage大概5M

  • 數據共享

cookie、sessionStorage、localStorage數據共享都遵循同源原則(協議、域名、埠號),sessionStorage還限制必須在同一個頁面

  • 發送請求是否攜帶資訊

前端在給後端發送數據的時候會自動攜帶上cookie的數據,而sessionStorage和localStorage不會

  • 應用場景

cookie一般用於存儲登錄驗證資訊sessionID和token

sessionStorage可以用來檢測用戶是否通過刷新進入頁面,如音樂播放器恢復播放進度條

localStorage常用於存儲不易變動的數據,一定程度上緩解伺服器壓力

Tags: