會(huì)話管理和控制
這節(jié)我們學(xué)習(xí)的是會(huì)話管理和控制,首先要知道的當(dāng)然是什麼是會(huì)話了。
會(huì)話,透過(guò)字面意思理解就是兩個(gè)人通話和交流的一個(gè)過(guò)程。
瀏覽器開(kāi)啟一個(gè)網(wǎng)站,和網(wǎng)站的伺服器互動(dòng)。是兩臺(tái)電腦間的交流。因此,我們也可以更加擬人一些,認(rèn)為是兩個(gè)設(shè)備間的會(huì)話。
不過(guò)特別的是,因?yàn)闉g覽器是電腦裡面的一個(gè)軟體,這個(gè)軟體沒(méi)有長(zhǎng)相,沒(méi)有聲音,沒(méi)身分證......我們不知道到底是誰(shuí)造訪了這個(gè)網(wǎng)站。
如果只認(rèn)IP的話,我們?cè)谝粋€(gè)公司,家裡IP都是一樣的??赡芤粋€(gè)IP對(duì)應(yīng)多個(gè)電腦?;蛘呤怯弥鴵Q了IP,如果用IP來(lái)辨識(shí)用戶的唯一身分的話肯定不切實(shí)際。
其實(shí)我們?nèi)祟惿鐣?huì)的思維模式,已經(jīng)解決了這個(gè)問(wèn)題。我跟大家講兩個(gè)關(guān)於開(kāi)會(huì)的故事:
在幾十年前人們開(kāi)會(huì)的時(shí)候,都需要帶一個(gè)參會(huì)證。這個(gè)參會(huì)證上有這個(gè)人的職務(wù)、姓名、單位、照片等資料。在開(kāi)會(huì)的時(shí)候,會(huì)議安保人員、組織者只需要檢查相關(guān)資訊就行了。
幾十年後,越來(lái)越先進(jìn)了。你參加前,跟你發(fā)一張卡片或工牌。這個(gè)工牌,有一個(gè)唯一的號(hào)碼。拿到號(hào)碼,再用相機(jī)自動(dòng)拍一張你的照片就完成了入場(chǎng)的對(duì)比工作。
在電腦裡面也有這兩種驗(yàn)證方式:
#人們?cè)趨?huì)證上帶上了所有的相關(guān)資訊的這種會(huì)話方式我們叫做cookie。這種模式,資訊是保存在使用者電腦上的。
人們只需要帶一個(gè)號(hào)碼或磁卡,透過(guò)這個(gè)資訊去驗(yàn)證你的照片、名字等資訊的模式我們叫做session。它只在使用者本地存一組小小的值,其他資訊全是存在伺服器上的。
用專業(yè)一點(diǎn)的語(yǔ)言來(lái)解釋:
HTTP協(xié)定是無(wú)狀態(tài)的。何謂無(wú)狀態(tài)?你輸入我的網(wǎng)址,我就傳送資料給你。我可不管你是金三胖,安倍或是歐巴馬呢。
而我們?cè)诂F(xiàn)實(shí)情況中,往往大家登陸後就知道大家是誰(shuí)了。這兩種方式是HTTP協(xié)定中的:
- cookie會(huì)話技術(shù)
- session會(huì)話技術(shù)