2017-03-03 74 views
0

会话是服务器端对象并驻留在服务器上。每个会话都有一个会话ID。会话ID是唯一的号码,服务器在访问(会话)期间分配给特定用户。默认情况下,会话ID被附加到一个cookie,并且这个cookie将在其请求/响应期间从客户端到服务器(以及服务器到客户端)共享。服务器将根据从cookie中检索到的会话ID来识别会话。Express会话可否在没有cookie的情况下工作?

所以我想知道Express会话是否适用于无Cookie?

+1

[PHP会话没有cookie]的可能重复(http://stackoverflow.com/questions/3740845/php-session-without-cookies) –

+2

@AbdullaNilam不是一个愚蠢的问题:节点和快递的解决方案是完全不同 –

回答

1

所以我想知道如果一个快速会议工程无cookieless?

不是。实际的快速会话模块仅适用于cookie。它在cookie中存储会话ID,以便来自该特定浏览器的下一个页面请求或Ajax请求将包含该cookie,并且express会话可以查找与该会话ID相对应的适当的服务器端会话对象。

可以创建不使用cookie的会话系统。这通常是通过把会话ID的URL作为查询参数,如完成:

http://somedomain.com/somepath?sessionID=0823408234 

但是,这是更麻烦建立一个网站,这样一来,除非你使用的是修复所有的渲染系统链接(页面中希望保留会话的所有链接必须在查询参数中具有正确的会话ID),并且会抛出书签和其他许多问题。

但是,快速会话不这样做。它需要一个cookie。

+0

不会发送URL中的会话ID是一个安全问题? –

+0

@AbhishekAnand是的,这就是为什么人们使用基于域的cookie来存储会话ID。所以其他域名将无法跟踪您的会话ID。 –

相关问题