2017-09-12 74 views
0

如何在Node.js中创建会话并进行管理,而无需使用类似Express的框架?创建没有明确表达的会话

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

回答

0

这是一种重新发明轮子。我想这就是为什么有人低估了。但有时它对于学习目的来重新发明车轮很有用。

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

这里有一些步骤,你可以按照处理会话:

  1. 在收到请求首先检查cookies在REQ找到你的会话cookie。
  2. 如果存在,请从中读取唯一标识并检查是否存在具有该名称(唯一标识符)的文件。
  3. 如果文件存在,请从文件中读取对象并将其存储在名为mysession的本地变量中(自己命名)。
  4. 如果文件或会话cookie不存在,请使用随机生成的唯一标识符创建一个空文件。并通过set-cookie头将这个唯一标识符以会话cookie的形式发送给客户端。

做到以上的东西,你发送任何数据到客户端

写有你该变量由每次修改您的MySession的变量的内容的会议文件之前。