1、cookie
w3school:https://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數據。
