gin框架的cookie與session案例
一.cookie與session概述
1>.cookie和session的產生背景
由於http協議是無狀態的,伺服器無法確定這次請求和上次請求是否來自同乙個客戶端。就給客戶端們頒發乙個通行證吧,每人乙個,無論誰訪問都必須攜帶自己通行證。這樣伺服器就能從通行證上確認客戶身份了。這就是cookie的工作原理。2>.cookie與session的區別利用session和cookie可以讓伺服器直到不同的請求是否來自同乙個客戶端。
什麼是cookie:3>.安裝session外掛程式cookie意為「甜餅」,是由w3c組織提出,最早由netscape社群發展的一種機制。目前cookie已經成為標準,所有的主流瀏覽器如ie、netscape、firefox、opera等都支援cookie。
cookie實際上是一小段的文字資訊。客戶端請求伺服器,如果伺服器需要記錄該使用者狀態,就使用response向客戶端瀏覽器頒發乙個cookie。
客戶端瀏覽器會把cookie儲存起來。當瀏覽器再請求該**時,瀏覽器把請求的**連同該cookie一同提交給伺服器。伺服器檢查該cookie,以此來辨認使用者狀態。伺服器還可以根據需要修改cookie的內容。
什麼是session:
除了使用cookie,web應用程式中還經常使用session來記錄客戶端狀態。session是伺服器端使用的一種記錄客戶端狀態的機制,使用上比cookie簡單一些,相應的也增加了伺服器的儲存壓力。
session是另一種記錄客戶狀態的機制,不同的是cookie儲存在客戶端瀏覽器中,而session儲存在伺服器上。
客戶端瀏覽器訪問伺服器的時候,伺服器把客戶端資訊以某種形式記錄在伺服器上。這就是session。客戶端瀏覽器再次訪問時只需要從該session中查詢該客戶的狀態就可以了。
cookie和session的區別:
1>.cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上(可以放在檔案,資料庫或者記憶體都可以);
2>.cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙考慮到安全應當使用session;
3>.兩者最大的區別在於生存週期,乙個是ie啟動到ie關閉.(瀏覽器頁面一關 ,session就消失了),乙個是預先設定的生存週期,或永久的儲存於本地的檔案。(cookie)
4>.session會在一定時間內儲存在伺服器上。當訪問增多,會比較占用你伺服器的效能考慮到減輕伺服器效能方面,應當使用cookie;
5>.單個cookie儲存的資料不能超過4k,很多瀏覽器都限制乙個站點最多儲存20個cookie(session物件沒有對儲存的資料量的限制,其中可以儲存更為複雜的資料型別);
綜上所述,如果說cookie機制是通過檢查客戶身上的「通行證」來確定客戶身份的話,那麼session機制就是通過檢查伺服器上的「客戶明細表」來確認客戶身份。session相當於程式在伺服器上建立的乙份客戶檔案,客戶來訪的時候只需要查詢客戶檔案表就可以了。
session資訊是存放在server端,但session id是存放在client cookie的
二.cookie與session案例
1>.cookie案例
})//啟動路由並指定監聽的位址及埠,若不指定預設監聽0.0.0.0:8080
router.run("
172.30.100.101:9000")
/**使用curl命令測試:
[[email protected] ~]# curl -v
:9000/cookie
*/}案例**
2>.session案例
})//啟動路由並指定監聽的位址及埠,若不指定預設監聽0.0.0.0:8080
router.run("
172.30.100.101:9000")
/**測試工具建議使用瀏覽器訪問"
:9000/session「,不推薦使用curl命令。
因為curl工具無法快取,瀏覽器是由快取的可以很明顯看到測試效果。
*/}案例**
3>.將session儲存在redis伺服器案例
})//啟動路由並指定監聽的位址及埠,若不指定預設監聽0.0.0.0:8080
router.run("
172.30.100.101:9000")
}**案例
gin框架的引數繫結
shouldbind的強大之處 不關是json型別的資料 還是form表單 還是query string 那種格式 你會發現 都一樣的 shouldbind能根據請求中contenttype型別 來決定我們採用什麼方式 如果你傳來querystring 型別引數 我就用querystring去取 如...
BasicAuth認證 gin框架提供 與Go
basic auth是一種開放平台認證方式,簡單的說就是需要你輸入使用者名稱和密碼才能繼續訪問。bath auth是其中一種認證方式,另一種是oauth。basic auth認證處理簡單幾乎沒有什麼優點了,最大的缺點就是安全性低。不用說,oauth認證方式克服了basic auth認證的所有缺點,並...
正確理解web互動中的cookie與session
cookie儲存在客戶端的純文字檔案 使用者請求伺服器指令碼 指令碼設定cookie內容 並 通過http response傳送cookie內容到客戶端並儲存在客戶端本地 客戶端再次傳送http請求的時候會將本地的cookie內容新增到http請求頭髮送給伺服器,伺服器端指令碼可以呼叫cookie內...