本文分別對Cookie與session做一個介紹和總結,并分別對兩個知識點進行對比分析,讓大家對Cookie和Session有一個更深入的了解,并對自己的開發工作中靈活運用帶來啟示。
關系的理解
客戶第一次發送請求給服務器,此時服務器產生一個唯一的sessionID,并返回給客戶端(通過cookie),保存于客戶端的內存中,并與一個瀏覽器窗口對應著,由于HTTP協議的特性,這一次連接就斷開了
以后此客戶端再發送請求給服務器的時候,就會在請求request中攜帶cookie,由于cookie中有sessionID,所以服務器就知道這是剛才那個客戶端。
舉個簡單例子就像人們去超市購物,去存包,第一個去的時候(客戶第一次發送請求給服務器),超市會給你一個號碼牌(此時服務器產生一個唯一的sessionID,并返回給客戶端(通過cookie)),你可以在你自己的柜子里存東西(在服務器屬于此客戶的內存區域存數據),下次你再去的時候,拿著這個號碼牌(請求request中攜帶cookie),超市就知道哪些東西是你的,然后給你取出來,如果你幾天都沒去取(session失效了,在服務器端配置),你再去的時候東西就拿不到了如果你把這個號碼牌丟了(剛才的cookie失效了,比如你重啟電腦,剛才存于內存中sessionID也就丟了),再去拿東西,當然無法定位了,也就拿不到東西了如果是新打開一個瀏覽器的情況,那就像是又一個人去超市存東西一樣,你的東西跟他的東西是兩碼事,互不影響,他有他自己的sessionID,你有你自己的新聞熱點
疑難解答