cookie 、session、sessionId 、sessionstorage、localStorage的差別

1. http協定的無狀态性

網站應用是基于http協定的,是基于請求和響應的應用,這種應用有一個特點:在完成一次用戶端與伺服器端的響應之後,用戶端與服務端就斷開了聯系,那麼也就是說服務端并不關心用戶端是誰,隻關心請求,請求來了就做出響應,響應結束用戶端與伺服器端就沒有聯系了,這個特點就是http協定的無狀态性

要實作真正的登入功能,就要将用戶端和伺服器端建立聯系,建立這種聯系就需要使用cookie和session技術

2. cookie和session

cookie:浏覽器在電腦硬碟中開辟的一塊空間,主要供伺服器端存儲資料

cookie特點:cookie中的資料會随着請求被自動發送到伺服器端

誰能在cookie中存儲資料呢?

用戶端js可以,伺服器端也可以,但實際上cookie出現的真正目的是為伺服器端存儲資料的,每一個網站都有自己的服務端,每一個網站都可以向cookie中存儲資料,是以cookie中的資料是以域名的形式進行區分的

cookie 、session、sessionId 、sessionstorage、localStorage的差別

圖解:

當用戶端第一次向伺服器端發送請求的時候,用戶端是沒有cookie的,當伺服器收到這個請求之後,并且要對用戶端做出響應的時候,在做出響應的同時,可以向用戶端的cookie當中存儲一些資料,當用戶端再一次通路伺服器端的時候,用戶端會自動把這個cookie攜帶給伺服器端

session

session實際上就是一個對象,存儲在伺服器端的記憶體中,在session對象中也可以存儲多條資料,每一條資料都有一個sessionid作為唯一的辨別。

3. cookie和session兩者如何聯系?

cookie 、session、sessionId 、sessionstorage、localStorage的差別

當用戶端向伺服器端發送請求時,并且郵箱位址和密碼作為請求資料,伺服器端接收到請求參數,并對請求參數做過驗證以後,證明用戶端傳遞過來的郵箱位址和密碼是正确的,說明 使用者是可以登入成功的,然後伺服器端需要使用session給目前登入的使用者生成一個唯一的sessionId,并且可以在session對象中存儲目前使用者的資訊,然後伺服器端需要将sessionId寫入到cookie當中發送給用戶端,當用戶端下一次通路伺服器端的時候,cookie會被自動發送到伺服器端,伺服器端拿到這個cookie當中存儲的sessionId,然後在伺服器端的session當中查找sessionId,能夠找到說明使用者是登陸過的,如果沒有則使用者是沒有登入過的,此時如果使用者是登入的狀态我們才能夠去響應隻有登入之後才能過擷取到的資料

4. session和cookie有什麼差別?

session是存儲在伺服器端的,cookie是存儲在用戶端的,是以session比cookie的安全性高

擷取session中的資訊是通過存儲在cookie中的sessionId來擷取的

session是存儲在伺服器的記憶體中的,如果session裡的資料不斷增加是會造成伺服器的負擔的,是以把重要的資訊存儲在session中,而把一些次要的資訊存儲在cookie中

session的資訊是存儲在伺服器端的,session的資料是通過sessionId來擷取的,而sessionId是存儲在cookie當中的,當浏覽器關閉時cookie消失,sessionId也就消失了,但是session的資訊還存在伺服器端

5. cookie、sessionstorage和localStorage的差別

sessionstorage: 用于臨時儲存同一視窗(或标簽頁)的資料,在關閉視窗或标簽頁之後将會删除這些資料。

localStorage: 在浏覽器視窗關閉後還保留資料, 除非手動删除

cookie session sessionID sessionStorage localStorage

小猴學藝

“啪---啪啪啪”鞭炮聲像子彈一樣響起,鞭炮像花兒一樣綻放開來。現在一年一度的才藝大賽開始了,羊伯伯彎着腰,舉着話筒顫悠悠的笑着說道。

小猴兒歎了口氣:“哎,才藝大會又開始了,我該怎麼辦呀?”

它急匆匆地跑回了家,在家左撓撓右抓抓,一會兒皺着眉頭,一會兒又趴在桌上,忽然那一絲希望如同劍一般插到小孩兒腦裡,它靈機一動:“诶,我可以去别人家問一問呀。”想着就如箭一般跑到了小兔家:“哎,小兔,你的才藝能借我看一下嗎?”“好啊!”小兔一聲答應讓小猴進來,小兔和小猴走到後院,小兔蹲下身子,前腿卧着地,後腳踏在地面上,腳一擡,似乎要準備跑步。果然,小兔喊道:“我最喜歡跑步,是以我的才藝是跑步。”說完拔腳跑了後院一圈,小猴想:我怎麼能跑的這麼快呢?看看小兔,小猴走開了。

他又跑去找大象伯伯,“大象伯伯,大象伯伯我能看一下你的才藝嗎?”“好啊。”他來到河邊伸起自己的大長鼻,放進水裡,一吸,一個池塘的水一遛煙兒不見了。哎呀,這我更不可能做到了,誰能用鼻子喝水呀?小猴又“嗖”一聲又跑走了。

他來到青蛙家,問道:“青蛙姐姐,你能給我看一下你的才藝嘛?”“好。”青蛙姐姐一聲答應,舌頭像子彈一樣伸出來,“啪”一聲,幾隻蚊子粘到了上面,它舌頭一縮,吃到了肚子裡。怎麼辦呀?大家的才藝我都模仿不來,他奔回了家。小猴在家丢的球?一次丢三個球,又一次丢四個球。“對了,我可以表演丢球呀!”

每個人都有自己的優點,隻要找到自己的優點,并發揚它。