我有一个带有快速中间件的node.js网络服务器。我出于性能原因试图消除对会话存储的需求。到目前为止,我没有多少跟踪。
但是,我确实需要在loggig之后启动会话时跟踪用户名和用户ID。我已经使用express res.cookie(...)实现了这个功能,如果启用了cookie,则可以使用它。但如果禁用cookie,它将无效。
所以我在看req.session,但内部再次使用cookieSession。
Q1:如何跟踪用户名(一旦用户登录) 跨浏览器和NO-SESSION-STORE禁用cookie的多个请求 (REDIS / MONGO等)
Q2:在上面Q1的解决方案中,我希望webserver成为无状态, 所以它在任何时候都不会在记忆中增长?
有可能吗?我的问题/要求是否有意义?我是新手。
基本上我正在寻找一个cookie以外的对象,它可以成为请求的一部分,每次发送/接收请求时都会传达
请帮忙
答案 0 :(得分:0)
您可以采用多种途径,因为它听起来像您控制请求者以及后端服务。
我们知道饼干已经出局。
使用HTTP标头,除非您正在进行某种AJAX调用,否则无法始终依赖它们。
查询字符串要求您始终手动发回用户名或其他标识符。但是,它将解决Q1和Q2。
根据您的应用程序的内容,重新构建端点以使它们具有ReSTful并帮助定义操作可能是有意义的 - 这样,将用户名作为请求URL的一部分就具有语义意义。
例如:
GET http://example.com/:username => could display a profile
GET http://example.com/:username/friends => could display a list of friends.
根据应用的设计方式,您也可以使用websockets来处理用户连接和身份验证。