我已经构建了我的应用程序,我在NodeJS上使用了普通的JS,这是一个单页应用程序。我没有用快递。
首先,用户需要登录。登录数据通过websocket发送到服务器,然后根据MySql-DB检查凭据。如果它们正确,那么将生成loginIn-content并将其发送回客户端,并在其中显示。
现在,当用户已经登录,然后刷新浏览器时,他将进入应用程序的初始状态,并需要再次登录。
我该如何解决?
我了解了很多有关NodeJS中会话处理的知识,但是大多数文章都包含express,这使我无法理解整个概念。
答案 0 :(得分:1)
HTTP本身是无状态的,因此您需要某种方式来识别用户。
传统上,这是通过Cookie完成的。当您响应HTTP请求时,您将在响应标头中包含一个cookie。对于所有后续的HTTP请求,客户端将将此cookie信息包括给您。
这意味着您可以发送某种会话标识符,对于以后的所有请求,您都可以查找会话数据。对话有点像这样。
客户:这是我的登录信息,我想要主页。
服务器:好的,谢谢。这是主页。另外,请记住您的会话ID为12345。下次您问我一些问题时,请告诉我该会话ID。 (登录到会话ID 12345与某个用户相关联的数据库。)
然后再...
客户:我想要另一页。您告诉我告诉我,我的会话ID为12345。
服务器:(加载12345的会话信息,发现它与某个用户相关联。)好,这是另一页。
如何实际存储所有取决于您的内容。许多人都在使用数据库,因为他们经常已经在应用程序中使用数据库,并且可以轻松地与应用程序服务器的多个实例共享会话数据。