使用 Golang 打造 Web 應用程式
  • Introduction
  • Go 環境配置
    • Go 安裝
    • GOPATH 與工作空間
    • Go 命令
    • Go 開發工具
    • 小結
  • Go 語言基礎
    • 你好,Go
    • Go 基礎
    • 流程和函式
    • struct
    • 物件導向
    • interface
    • 併發
    • 小結
  • Web 基礎
    • web 工作方式
    • Go 建立一個簡單的 web 服務
    • Go 如何使得 web 工作
    • Go 的 http 套件詳解
    • 小結
  • 表單
    • 處理表單的輸入
    • 驗證表單的輸入
    • 預防跨站指令碼
    • 防止多次提交表單
    • 處理檔案上傳
    • 小結
  • 存取資料庫
    • database/sql 介面
    • 使用 MySQL 資料庫
    • 使用 SQLite 資料庫
    • 使用 PostgreSQL 資料庫
    • 使用 beedb 函式庫進行 ORM 開發
    • NoSQL 資料庫操作
    • 小結
  • session 和資料儲存
    • session 和 cookie
    • Go 如何使用 session
    • session 儲存
    • 預防 session 劫持
    • 小結
  • 文字檔案處理
    • XML 處理
    • JSON 處理
    • 正則處理
    • 範本處理
    • 檔案操作
    • 字串處理
    • 小結
  • Web 服務
    • Socket 程式設計
    • WebSocket
    • REST
    • RPC
    • 小結
  • 安全與加密
    • 預防 CSRF 攻擊
    • 確保輸入過濾
    • 避免 XSS 攻擊
    • 避免 SQL 注入
    • 儲存密碼
    • 加密和解密資料
    • 小結
  • 國際化和本地化
    • 設定預設地區
    • 本地化資源
    • 國際化站點
    • 小結
  • 錯誤處理,除錯和測試
    • 錯誤處理
    • 使用 GDB 除錯
    • Go 怎麼寫測試案例
    • 小結
  • 部署與維護
    • 應用日誌
    • 網站錯誤處理
    • 應用部署
    • 備份和還原
    • 小結
  • 如何設計一個 Web 框架
    • 專案規劃
    • 自訂路由器設計
    • controller 設計
    • 日誌和配置設計
    • 實現部落格的增刪改
    • 小結
  • 擴充套件 Web 框架
    • 靜態檔案支援
    • Session 支援
    • 表單支援
    • 使用者認證
    • 多語言支援
    • pprof 支援
    • 小結
  • 參考資料
Powered by GitBook
On this page
  • 目錄
  • links

Was this helpful?

session 和資料儲存

Previous小結Nextsession 和 cookie

Last updated 4 years ago

Was this helpful?

Web 開發中一個很重要的議題就是如何做好使用者的整個瀏覽過程的控制,因為 HTTP 協議是無狀態的,所以使用者的每一次請求都是無狀態的,我們不知道在整個 Web 操作過程中哪些連線與該使用者有關,我們應該如何來解決這個問題呢?Web 裡面經典的解決方案是 cookie 和 session,cookie 機制是一種客戶端機制,把使用者資料儲存在客戶端,而 session 機制是一種伺服器端的機制,伺服器使用一種類似於散列表的結構來儲存資訊,每一個網站訪客都會被分配給一個唯一的標誌符,即 sessionID,它的存放形式無非兩種 : 要麼經過 url 傳遞,要麼儲存在客戶端的 cookies 裡.當然,你也可以將 Session 儲存到資料庫裡,這樣會更安全,但效率方面會有所下降。

6.1 小節裡面講介紹 session 機制和 cookie 機制的關係和區別,6.2 講解 Go 語言如何來實現 session,裡面講實現一個簡易的 session 管理器,6.3 小節講解如何防止 session 被劫持的情況,如何有效的保護 session。我們知道 session 其實可以儲存在任何地方,6.4 小節裡面實現的 session 是儲存在記憶體中的,但是如果我們的應用進一步擴充套件了,要實現應用的 session 共享,那麼我們可以把 session 儲存在資料庫中(memcache 或者 redis),6.5 小節將詳細的講解如何實現這些功能。

目錄

links

上一章:

下一節:

目錄
第五章總結
session 和 cookie