Express会话可以不使用cookie吗?

时间:2017-03-03 14:01:32

标签: node.js session express cookies

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

所以我想知道Express会话是否可以无cookie?

1 个答案:

答案 0 :(得分:1)

  

所以我想知道Express会话是否可以无cookie?

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

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

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

但是,以这种方式构建网站要麻烦得多,除非您使用的渲染系统为您修复了所有链接(页面中希望保留会话的所有链接都必须具有正确的会话ID)查询参数)它会抛出书签和许多其他问题。

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