session和cookie

  第一次聽到cookie這個詞的時候着實興奮了一段時間,覺得是小餅乾呢~快喝一杯82年的java壓壓驚!哈哈~前端

與cookie的第一次邂逅——清緩存和清cookie

  剛畢業的時候上班,作二次開發,明明後臺都顯示ok了,可是前端頁面顯示就是不正常,同事就讓我清一下cookie,這個時候我一度懷疑本身背錯了單詞。。。後來知道了其實我清除的是瀏覽器的緩存信息,其中也包括cookie相關的內容,對cookie的認識就一直停留在這裏。直到最近在上課,有進一步的瞭解了cookie的做用,以及它和session之間的那些牽牽絆絆└(^o^)┘~~~java

session和cookie之間剪不斷的羈絆

  web程序的工做中,常常會有登陸、權限驗證等機構。例如:我登陸了淘寶,當我請求頁面發送url的請求時,能夠看到個人訂單和購物車信息,購物車裏不能放着別人買的東西。那麼服務器端是如何感知到我是誰的呢?web

  其實,原理是這樣的。當服務器端接收到web端發來的登陸請求時,在驗證經過後能夠經過向session中寫值得方式來記錄某個用戶的登陸狀況。這個時候,會生成一個相似鑰匙的字符串,這段字符串就是cookie,被記錄在web客戶端本地,而相關信息就被放在被鎖在這把鑰匙鎖對應的盒子裏。也就是說,我登錄了淘寶,那麼個人瀏覽器就拿到了一把鑰匙,個人用戶信息,購物記錄都被鎖在服務器端的盒子裏,只有個人鑰匙能夠開啓。原理圖以下:django

  

session使用session和cookie的好處

  咱們爲何要使用session和cookie機制呢?由於瀏覽器始終沒有獲取到用戶的我的信息,而是拿着鑰匙到服務端獲取,更好的保護了咱們我的信息的安全性。這個時候咱們能夠想一想cookie是銀行卡的密碼,咱們只須要知道密碼,隨時隨地均可以花錢、取現,而不須要抱着一大堆錢處處走了。是否是很方便呢?瀏覽器

session的失效

  session失效的實質是cookie的失效。咱們在生成cookie的時候能夠順便把失效時間寫進瀏覽器(django的話能夠在setting中進行設置),這樣,時間到達以後瀏覽器就自動忘記了取錢的密碼,這個時候其實密碼和咱們存在銀行的錢還在服務器端,只是咱們本身忘記了取錢密碼而已。緩存

相關文章
相關標籤/搜索