Session的前世今生

本文轉(zhuǎn)自「開發(fā)者圓桌」一個10年老猿原創(chuàng)文章傳播開發(fā)經(jīng)驗,尤其適合初學(xué)者或剛?cè)肼殘銮皫啄瓿绦蛟车奈⑿殴娞枴?/b>

什么是Session?

Session在計算機(jī)中,尤其是在Web應(yīng)用中,稱為“會話控制”。Session 對象存儲特定用戶會話所需的屬性及配置信息。這樣,當(dāng)用戶在應(yīng)用程序的 Web 頁之間跳轉(zhuǎn)時,存儲在 Session 對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去。

當(dāng)用戶請求來自應(yīng)用程序的 Web 頁時,如果該用戶還沒有會話,則 Web 服務(wù)器將自動創(chuàng)建一個 Session 對象。當(dāng)會話過期或被放棄后,服務(wù)器將終止該會話。Session 對象最常見的一個用法就是存儲用戶的登錄信息。例如,你一旦登錄成功,則可以在Web應(yīng)用的所有頁面中看到自己的用戶信息。

我的疑惑

既然Session是有別于Cookie的一種全新的HTTP狀態(tài)保持解決方案,那么為什么Session有時還要用到Cookie呢?

之前一直有這樣的疑問,只是平時工作太忙(其實,想想也是借口,時間擠擠還是有的嘛),也就似懂非懂的放過去了,今天特意重新研究了一下Session的機(jī)制和原理,終于解開了我的疑惑,下面把整理的導(dǎo)圖分享出來,希望可以幫助更多人更好的理解Web應(yīng)用中的Session。

如果面試官要問你什么是Session,我覺得你可以把下面這張思維導(dǎo)圖中的內(nèi)容講給他聽,一定可以順利過關(guān)。

導(dǎo)圖內(nèi)容概要

本節(jié)“1.session的前世今生”,從HTTP協(xié)議與狀態(tài)保持說起,分別比較了Session與Cookie的區(qū)別,通過對SessionID傳遞方案的梳理進(jìn)一步加深了Session的理解,最后通過幾個思考題,點出了下一節(jié)關(guān)于“session一致性”的主題。

Session相關(guān)思維導(dǎo)圖原文件以及Xmind這款思維導(dǎo)圖軟件,已經(jīng)分享到百度網(wǎng)盤,歡迎下載使用,也可以通過左下角的「閱讀原文」直接跳轉(zhuǎn),網(wǎng)盤地址:https://pan.baidu.com/s/1eR2oWJS

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容