创建没有快递的会话

时间:2017-09-12 17:43:14

标签: node.js session server-side

如何在没有像express这样的框架的情况下在Node.js中创建会话并对其进行管理?

在节点中提及管理会话的大多数问题都是使用express来实现,但我想知道如何在不使用express的情况下执行此操作。

1 个答案:

答案 0 :(得分:0)

这有点重新发明轮子。我认为这就是为什么有人贬低了。但有时候,为了学习目的,重新发明轮子是有用的。

会话处理主要通过cookie(有时也在URL中编码)完成。在此过程中,服务器向客户端发送唯一标识符(cookie)并创建包含您在会话中存储的数据的本地文件,并在下一个请求中检查是否存在唯一标识符,如果是,则将其与所有保存的匹配文件如果匹配它将选择文件并将从该文件中读取数据然后您将能够使用该会话。如果文件或唯一ID不存在,它将创建一个具有该唯一ID的空文件,并将它在set-cookie标头中发送给客户端,以便下次识别会话。

以下是处理会话可以遵循的一些步骤:

  1. 收到请求后,首先检查请求中的cookie以找到您的会话cookie。
  2. 如果存在,请从中读取唯一ID,并检查具有该名称的文件(唯一标识符)是否存在。
  3. 如果文件存在,请从文件中读取对象并将其存储在名为mysession的本地变量中(自己命名)。
  4. 如果文件或会话cookie不存在,请创建一个带有随机生成的唯一标识符的空文件。并在set-cookie header的帮助下,以会话cookie的形式将此唯一标识符发送给客户端。
  5. 在向客户发送任何数据之前,请执行以上所有操作

    使用mysession变量的内容编写会话文件,用于对该变量所做的每次修改。