1. 程式人生 > >session,cookie,sessionStorage,localStorage的區別~~~前端面試

session,cookie,sessionStorage,localStorage的區別~~~前端面試

應用 永久 刪除數據 前端 服務器 賬號 即使 html 硬盤

---恢復內容開始---

cookie&&session

區別:

1、保持狀態:cookie保存在瀏覽器端,session保存在服務器端

2、使用方式:

(1)cookie機制:如果不在瀏覽器中設置過期時間,cookie被保存在內存中,生命周期隨瀏覽器的關閉而結束,這種cookie簡稱會話cookie。如果在瀏覽器中設置了cookie的過期時間,cookie被保存在硬盤中,關閉瀏覽器後,cookie數據仍然存在,直到過期時間結束才消失。

Cookie是服務器發給客戶端的特殊信息

(2)session機制:服務器端內存中保存用戶私密信息的存儲空間,在首次請求服務器時,服務器為當前客戶端創建一個專門的內存存儲空間,成為session,並分配隨機的session_id,返回給客戶端保存在cookie中,每次客戶端請求服務器時,都自動攜帶cookie和session_id到服務器,可打開session,取出session中保存的數據使用如果客戶端長時間未請求服務器,服務器自動刪除該客戶端對應的session。

關閉瀏覽器,會導致cookie中的session_id丟失,再次打開瀏覽器訪問服務器時,服務器會分配新的session和session_id,原session即使未釋放,也無法訪問.

HTML5的WebStorage提供了兩種API:localStorage(本地存儲)和sessionStorage(會話存儲)。

生命周期localStorage:localStorage的生命周期是永久的,關閉頁面或瀏覽器之後localStorage中的數據也不會消失。localStorage除非主動刪除數據,否則數據永遠不會消失。

       sessionStorage的生命周期是在僅在當前會話下有效。sessionStorage引入了一個“瀏覽器窗口”的概念,sessionStorage是在同源的窗口中始終存在的數據。只要這個瀏覽器窗口沒有關閉,即使刷新頁面或者進入同源另一個頁面,數據依然存在。但是sessionStorage在關閉了瀏覽器窗口後就會被銷毀。同時獨立的打開同一個窗口同一個頁面,sessionStorage也是不一樣的。

存儲大小:localStorage和sessionStorage的存儲數據大小一般都是:5MB

存儲位置:localStorage和sessionStorage都保存在客戶端,不與服務器進行交互通信。

應用場景:localStoragese:常用於長期登錄(+判斷用戶是否已登錄),適合長期保存在本地的數據。sessionStorage:敏感賬號一次性登錄;

session,cookie,sessionStorage,localStorage的區別~~~前端面試