cookie,session,sessionStorage,localStotage的區別

1.cookie

保存位置: 客戶端

使用方式:

若是不設置過時時間,cookie保存在瀏覽器內存中,生命週期隨瀏覽器的關閉而結束.簡稱會話cookie.
若是設置過時時間,cookie則保存在硬盤中,關閉瀏覽器依然存在,直到過時才消失.瀏覽器

2.session

保存位置: 服務器端

使用方式: session目前主流都配合cokie使用服務器


登陸案例(cookie和session結合)

用戶客戶端登陸系統cookie

登陸成功後,由圖上的response的headers咱們能夠看到服務器端會發給客戶端一個帶有JSESSIONID的惟一用戶標識的特殊信息,這個就是cookie,由服務器端發回並設置,此時的cookie沒有設置過時時間,故生命週期是隨瀏覽器的關閉而結束

由上圖可知,每次發請求到後臺時,在request的header裏都會帶着cookie到後臺,以cookie裏面的JSESSIONID在服務器中區分是哪一個用戶進行的操做.
由於此時存儲的Cookie是會話Cookie,只要整個瀏覽器不關閉,cookie一直有效.
除非換瀏覽器打開,此時沒有會話cookie,跳轉到登陸界面,服務器端會從新生成新的JSESSIONID返回給客戶端.session


3.localStorage(本地存儲)

存儲位置: 客戶端

生命週期:

localStorage的生命週期是永久的,關閉頁面或瀏覽器以後localStorage中的數據也不會消失。localStorage除非主動刪除數據,不然數據永遠不會消失。cdn

4.sessionStorage(會話存儲)

存儲位置: 客戶端

生命週期:

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

最後

  • 喜歡的記得點個star.鼓勵一下,謝謝!
  • qq羣號 424072183
相關文章
相關標籤/搜索