Web開發(fā)中一個很重要的議題就是如何做好用戶的整個瀏覽過程的控制,因為HTTP協(xié)議是無狀態(tài)的,所以用戶的每一次請求都是無狀態(tài)的,我們不知道在整個Web操作過程中哪些連接與該用戶有關(guān),我們應(yīng)該如何來解決這個問題呢?Web里面經(jīng)典的解決方案是cookie和session,cookie機制是一種客戶端機制,把用戶數(shù)據(jù)保存在客戶端,而session機制是一種服務(wù)器端的機制,服務(wù)器使用一種類似于散列表的結(jié)構(gòu)來保存信息,每一個網(wǎng)站訪客都會被分配給一個唯一的標(biāo)志符,即sessionID,它的存放形式無非兩種:要么經(jīng)過url傳遞,要么保存在客戶端的cookies里.當(dāng)然,你也可以將Session保存到數(shù)據(jù)庫里,這樣會更安全,但效率方面會有所下降。
6.1小節(jié)里面講介紹session機制和cookie機制的關(guān)系和區(qū)別,6.2講解Go語言如何來實現(xiàn)session,里面講實現(xiàn)一個簡易的session管理器,6.3小節(jié)講解如何防止session被劫持的情況,如何有效的保護session。我們知道session其實可以存儲在任何地方,6.3小節(jié)里面實現(xiàn)的session是存儲在內(nèi)存中的,但是如果我們的應(yīng)用進一步擴展了,要實現(xiàn)應(yīng)用的session共享,那么我們可以把session存儲在數(shù)據(jù)庫中(memcache或者redis),6.4小節(jié)將詳細的講解如何實現(xiàn)這些功能。
http://wiki.jikexueyuan.com/project/go-web-programming/images/navi6.png" alt="" />