會話管理和控制LOGIN

會話管理和控制

這節我們學習的是會話管理和控制,首先要知道的當然是什麼是會話了。

會話,透過字面意思理解就是兩個人通話和交流的一個過程。

瀏覽器開啟一個網站,和網站的伺服器互動。是兩台電腦間的交流。因此,我們也可以更加擬人一些,認為是兩個設備間的會話。
不過特別的是,因為瀏覽器是電腦裡面的一個軟體,這個軟體沒有長相,沒有聲音,沒身分證......我們不知道到底是誰造訪了這個網站。

如果只認IP的話,我們在一個公司,家裡IP都是一樣的。可能一個IP對應多個電腦。或者是用著換了IP,如果用IP來辨識用戶的唯一身分的話肯定不切實際。

其實我們人類社會的思維模式,已經解決了這個問題。我跟大家講兩個關於開會的故事:

  1. 在幾十年前人們開會的時候,都需要帶一個參會證。這個參會證上有這個人的職務、姓名、單位、照片等資料。在開會的時候,會議安保人員、組織者只需要檢查相關資訊就行了。

  2. 幾十年後,越來越先進了。你參加前,跟你發一張卡片或工牌。這個工牌,有一個唯一的號碼。拿到號碼,再用相機自動拍一張你的照片就完成了入場的對比工作。

在電腦裡面也有這兩種驗證方式:

  1. #人們在參會證上帶上了所有的相關資訊的這種會話方式我們叫做cookie。這種模式,資訊是保存在使用者電腦上的。

  2. 人們只需要帶一個號碼或磁卡,透過這個資訊去驗證你的照片、名字等資訊的模式我們叫做session。它只在使用者本地存一組小小的值,其他資訊全是存在伺服器上的。

用專業一點的語言來解釋:

HTTP協定是無狀態的。何謂無狀態?你輸入我的網址,我就傳送資料給你。我可不管你是金三胖,安倍或是歐巴馬呢。

而我們在現實情況中,往往大家登陸後就知道大家是誰了。這兩種方式是HTTP協定中的:

  1. cookie會話技術
  2. session會話技術
#下一節
章節課件