KoaJS教程

Koa.js 会话

HTTP 是无状态的,因此为了将请求与任何其他请求相关联,您需要一种在 HTTP 请求之间存储用户数据的方法。 Cookie 和 URL 参数都是在客户端和服务器之间传输数据的合适方式。但是,它们在客户端都是可读的。 Sessions 正好解决了这个问题。您为客户端分配一个 ID,它使用该 ID 发出所有进一步的请求。与客户端关联的信息存储在与此 ID 相关联的服务器上。
我们需要 koa-session,因此使用-
npm install--save koa-session
我们将放置 koa-session 中间件。在这个例子中,我们将使用 RAM 来存储会话。永远不要在生产环境中使用它。会话中间件处理所有事情,即创建会话、设置会话 cookie 以及在上下文对象中创建会话对象。
每当我们再次从同一个客户端发出请求时,我们都会将他们的会话信息存储在我们这里(假设服务器没有重新启动)。我们可以向这个会话对象添加更多属性。在以下示例中,我们将为客户端创建一个查看计数器。
var session = require('koa-session');
var koa = require('koa');
var app = koa();
app.keys = ['Shh, its a secret!'];
app.use(session(app));  // Include the session middleware
app.use(function *(){
   var n = this.session.views || 0;
   this.session.views = ++n;
   
   if(n === 1)
      this.body = 'Welcome here for the first time!';
   else
      this.body = "You've visited this page " + n + " times!";
})
app.listen(3000);
上述代码的作用是,当用户访问该站点时,它会为用户创建一个新会话并分配一个 cookie。下次用户访问时,会检查 cookie 并相应地更新 page_view 会话变量。
现在,如果您运行应用程序并转到 localhost:3000,,您将得到以下响应。
会话优先
如果您重新访问该页面,页面计数器将增加。在这种情况下,页面刷新了 12 次。
Session 12
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4