Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点快速会话机制_Node.js_Express_Session_Mongoose_Express Session - Fatal编程技术网

Node.js 节点快速会话机制

Node.js 节点快速会话机制,node.js,express,session,mongoose,express-session,Node.js,Express,Session,Mongoose,Express Session,我一直认为,如果使用app.use(session({store:mongoConnection})),express会话信息将存储在服务器端的mongodb中 但是,当我试图用第一个浏览器检索以前在服务器端设置的会话变量时,我转到下一个浏览器获取它,我无法获取该变量。那么最终会话变量会存储到特定浏览器上的cookie中吗?否则,无论使用哪个浏览器,我都会得到该变量 如果是,该app.use mongo连接的作用是什么?它存储的是什么?会话数据存储在会话存储中。但是cookie用于跟踪给定浏览器

我一直认为,如果使用
app.use(session({store:mongoConnection}))
,express会话信息将存储在服务器端的mongodb中

但是,当我试图用第一个浏览器检索以前在服务器端设置的会话变量时,我转到下一个浏览器获取它,我无法获取该变量。那么最终会话变量会存储到特定浏览器上的cookie中吗?否则,无论使用哪个浏览器,我都会得到该变量


如果是,该app.use mongo连接的作用是什么?它存储的是什么?

会话数据存储在会话存储中。但是cookie用于跟踪给定浏览器会话的会话ID。cookie不传递会话数据,只传递会话ID和其他一些用于验证的信息。实际会话数据存储在会话存储中,不通过有线传输。从而防止了某种攻击


用于跟踪会话的cookie在会话期间的每个请求都会从浏览器传输到服务器。因此,您无法从其他浏览器访问会话信息。

会话数据存储在会话存储中。但是cookie用于跟踪给定浏览器会话的会话ID。cookie不传递会话数据,只传递会话ID和其他一些用于验证的信息。实际会话数据存储在会话存储中,不通过有线传输。从而防止了某种攻击


用于跟踪会话的cookie在会话期间的每个请求都会从浏览器传输到服务器。因此,您无法从其他浏览器访问会话信息。

您正在使用的
会话存储
用于在MongoDB中存储会话变量。
重新启动express.js服务器后,返回相同的用户/浏览器选项卡,它们可以获得相同的变量。否则,这些变量将存储在内存中,并在服务器停止时被擦除。

您使用的
会话存储将用于在MongoDB中存储会话变量。

重新启动express.js服务器后,返回相同的用户/浏览器选项卡,它们可以获得相同的变量。否则,这些变量将存储在内存中,并在服务器停止时被擦除。

无论存储机制如何,您都无法在不同的浏览器上获得相同的会话。这就是会话的要点:它仅限于您在页面上的时间。我不知道它到底是如何在Mongo中准确地存储东西的,但它几乎肯定会与用户代理绑定在一起。无论存储机制如何,在不同的浏览器上都不会获得相同的会话。这就是会话的要点:它仅限于您在页面上的时间。我不知道它是如何精确地在Mongo中存储东西的,但它几乎肯定会与用户代理联系在一起