HTML5三種數據存儲方式(cookie、localstorage、sessionstorage)


1、cookie

w3schoolhttps://www.w3school.com.cn/js/js_cookies.asp

作用:用於瀏覽器和服務器端進行通信,保存在瀏覽器中

特點:保存在瀏覽器端,容易被截獲,不安全

大小:4KB  每次發送請求都會攜帶,導致占用帶寬

生命周期:

  會話cookie:瀏覽器從打開到關閉的過程

  人為設置cookie:人為設置的時間

 

cookie特點:

  • cookie的大小受限制,cookie大小被限制在4KB。
  • cookie也可以設置過期的時間,默認是會話結束的時候,當時間到期自動銷毀。
  • 一個域名下存放的cookie的個數是有限制的,不同的瀏覽器存放的個數不一樣,一般為20個。
  • 用戶每請求一次服務器數據,cookie會隨着這些請求發送到服務器。
  • cookie數據始終在同源的http請求中攜帶(即使不需要),這也是Cookie不能太大的重要原因

 

Cookie和Session區別:

  • cookie數據存放在客戶的瀏覽器上,session數據放在服務器上。
  • cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,考慮到安全應當使用session。
  • session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能考慮到減輕服務器性能方面,應當使用cookie。
  • 單個cookie保存的數據不能超過4K,Session 可存儲數據遠高於 Cookie。
  • Cookie 可設置為長時間保持,比如我們經常使用的默認登錄功能,Session 一般失效時間較短,客戶端關閉或者 Session 超時都會失效。
  • Cookie 只能保存 ASCII,Session 可以存任意數據類型

 

2、sessionStorage(會話存儲)

生命周期:瀏覽器打開到關閉的過程

大小:5M

保存的位置:瀏覽器端

方法都有哪些:

  setItem('key',value)  設置item對象

  getItem('key') 得到item對象的值

  removeItem('key') 移除item對象

作用域:窗口級別的,不同窗口間的sessionStorage數據不能共享的

 

3、lovcalStorage(永久存儲)

生命周期:永久,除非人為刪除

大小:5M甚至更大

保存的位置:瀏覽器端

方法都有哪些:

  setItem('key',value)  設置item對象

  getItem('key') 得到item對象的值

  removeItem('key') 移除item對象

  clear//清除記錄

 

localStorage特點:

  • 保存的數據長期存在,下一次訪問該網站的時候,網頁可以直接讀取以前保存的數據。
  • 大小為5M左右。
  • 僅在客戶端使用,不和服務端進行通信。
  • 存儲的信息在同一域中是共享的。
  • localStorage本質上是對字符串的讀取,如果存儲內容多的話會消耗內存空間,會導致頁面變卡。

sessionStorage和localStorage區別:

  • localStorage是永久存儲,除非手動刪除。sessionStorage當會話結束(當前頁面關閉的時候,自動銷毀)
  • localStorage只要在相同的協議、相同的主機名、相同的端口下,就能讀取/修改到同一份localStorage數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM