koa-session学习笔记
koa-session 是koa的 session 管理中间件,最近在写登录注册模块的时候学习了一下这部分的代码,感觉还比较容易看明白,让自己对于 session 的理解也更加深入了,这里总结一下。 session基础知识 这部分算是基础知识,熟悉的朋友可以跳过。 我们都知道 http协议本身是无状态的 ,因此协议本身是不支持“登录状态”这样的概念的,必须由项目自己来实现。我们常常说到 session 这个概念,但是可能有人并不是非常清楚我们讨论的 session 具体指代什么。我觉得这个概念比较容易混淆,不同的上下文会有不同的含义: session 首先是一个抽象的概念, 指代多个有关联的http请求所构成的一个会话 。 session 常常用来指代为了实现一个会话, 需要在客户端和服务端之间传输的信息 。这些信息可以是会话所需的所有内容( 包括用户身份、相关数据等 ), 也可以只是一个id , 让服务端可能从后台检索到相关数据 ,这也是实际系统中最常用的方式。 当我们讨论** session 的实现方式 的时候,都是 寻找一种方式从而使得多次请求之间能够共享一些信息**。不论选择哪种方式,都是 需要由服务自己来实现的, http 协议并不提供原生的支持 。 实现 session 的一种方式就是 在每个请求的参数或者数据中带上相关信息 ,这种方式的好处是 不受 cookie