cookie和session的自我介紹

2022-09-15 20:39:16 字數 1347 閱讀 6400

cookie說的直白點就是儲存在使用者瀏覽器端的乙個鍵值對,舉個例子,你現在登入了京東**,你把瀏覽器關閉之後,你再開啟京東,你還是可以對你的賬戶繼續操作,已經購買的商品,訂單都是可以看到的,這個就是cookie起了作用。那為什麼你再次開啟的時候,就直接是已經登入狀態了,京東的服務端是怎麼知道你已經登入的哪,其實就是cookie起了作用,就是你在登入的時候京東對你的瀏覽器設定了cookie,你登入的時候它把你的賬號密碼寫到了你瀏覽器的cookie裡面,你下次開啟京東的時候,它就預設把你瀏覽器裡面的cookie,也就是你的賬號密碼傳送到了京東的服務端,這樣的話,京東就知道你已經登入,所以你再開啟jd的時候就是已經登入的狀態了,很多**上面的記住我、30天不需要登入就是用的cookie,前面也說了cookie是存在本地的,如果你清理了瀏覽器的cookie,那麼cookie就沒有了,你就是未登入的狀態了。

上面說了cookie,提到cookie肯定不能少了session,什麼是session呢,說直白點,就是儲存在服務端的乙個鍵值對。舉個例子,還是京東,登入的時候已經把賬號密碼寫到cookie裡面了,咱們再去開啟京東頁面的時候,瀏覽器會自動把京東這個**下面的cookie發給京東的服務端,也就是cookie裡面存的東西,賬號密碼發到京東的服務端了,那發過去了,京東的服務端肯定是要驗證一下,你發的賬號密碼對不對,要不然你知道誰的賬號了,你隨便偽造乙個cookie發給京東那就直接能操作別人的賬號了,那就不安全了。那怎麼辦呢,服務端就也儲存乙個鍵值對不就行了,那你把cookie發過來的時候,和我這儲存的這個鍵值對一樣不就ok了,這個就是session,其實就是儲存在服務端的乙個鍵值對。

有的人可能會問了,那你的賬號密碼肯定都是存在資料庫裡面的,完全不用session啊,cookie發過來的時候,我直接從資料庫裡面查到這個使用者的賬號密碼做比較就好了,這樣當然是可以的,但是我想說你太年輕了,你想如果開啟乙個**,裡面很多頁面都是要驗證一下你的登入狀態的,那你每次驗證登入狀態都要去運算元據庫,我們都知道計算機在處理資料的時候,都是先從硬碟上取資料然後放到記憶體裡面,記憶體再給cpu,cpu來進行處理(看下面的圖),cpu的處理速度是很快的,就像火箭一樣,記憶體的訪問的速度就像高鐵的速度一樣,而硬碟的讀取速度就像普通的汽車一樣,而資料庫裡面的資料都是存在硬碟上的,每次去校驗一下賬號密碼從資料庫裡面取資料,那效率就很低了。一般session都是存在快取裡面,因為要經常用到,要提公升效能,直接把seesion放到記憶體裡面,這樣子的話,查的時候直接在記憶體裡面取資料了,就很快了,像一些快取資料庫,redis、memcached這些都是把資料直接存到記憶體裡面的。

Session和Cookie的區別

session和cookie的區別 1 儲存的位置不同 session儲存在伺服器端的記憶體中,占用伺服器資源。cookie是儲存在客戶端。可以是瀏覽器中或者是檔案中 2 儲存的時間不同 session是關閉當前會話相關瀏覽器後自動清空。cookie是根據過期時間而會有不同。3 安全性不同 sess...

cookie和session的區別

一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我們也看到,由於在伺服器端保持狀態的方案在客戶端也需要儲存乙個標識,所以session機制可能需要借助於cookie機制來達到儲存標識的目...

cookie和session的區別

分類 計算機網路 2011 10 21 10 43 4785人閱讀收藏 舉報 session 瀏覽器伺服器 servlet url儲存 一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我...