Menu

06.0. session 和数据存储

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.3 小节里面实现的 session 是存储在内存中的,但是如果我们的应用进一步扩展了,要实现应用的 session 共享,那么我们可以把 session 存储在数据库中 (memcache 或者 redis),6.4 小节将详细的讲解如何实现这些功能。

目录

本文章首发在 GolangCaff
上一篇 下一篇
讨论数量: 0
发起讨论


暂无话题~