koa session 的思考
session 是什么?
自己google.
cookie 是什么?
自己google.
cookie 和session 的关系是 ?
自己google.
如何识别是那个用户登录的 ?
用户登录系统, 系统生成cookie,浏览器获取到http 的响应, 则会在客户端保存cookie 的值. 用户的每次请求都会带着cookie的信息到服务器, 服务器获取到这个cookie的值, 则会得到session里面的信息(不同的语音会有不同的解析方法, 原理是一样的), 从而知道了是哪一个用户. cookie和session是关联的, 那么cookie丢了后是不是就不安全了? 这里不做讨论. 可以google.
session的存储
- 文件的保存
- 数据库保存
session文件存储
一般情况session的信息保存在操作系统的文件中, 不同语言保存的形式不一, 结构有差异. - 优点: 使用简单 适合小型的网站 读取速度快- 缺点: 不安全(相对) 时间长了后session文件会很多 不适合大型的网站使用.
session数据库保存
现在的服务器一般都要做负载均衡, 业务也要做水平和垂直的拆分. 那么session的持久化就是需要考虑的问题了. session的持久化其实就是将session保存在网络的某些地方.PS: 网络世界, 很大, O(∩_∩)O哈哈~
所以用户在登录某系统的时候能正确的识别是哪一个用户很是考究技术的地方. 所以出现了session的持久化的解决方案.
session 持久化的解决方案就是session保存在数据库中:
memcache, redis, mysql, mongodb ...
由于memcache 其实也不能持久化, 服务器出问题后session就会丢失.所以一般都不会考虑这个方案.
那么上面的这几个究竟是保存在哪里好呢, 也需要更自己的业务来考虑. 具体可以Google.
koa session 的思考
扯了太多, 现在回归正题, koa 的session的解决方案也挺多,
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。