jSessionId真的是唯一的吗?
为了提供一些上下文,我正在开发一个 API 来跟踪网站上的用户操作(也包括匿名用户)。到目前为止,我们使用 jsessionId 来识别每个用户及其操作。
该 API 现在可以在 Tomcat 和 JBoss 上运行。
真正重要的问题是,由于我们每天分析一次所有数据,是否可以以任何方式保证该 jsessionId 一整天的唯一性?或者,不同时,其他用户能否获得其他用户先前使用的相同 jsessionId?
提前致谢。
To put some context, i'm developing an API to track user actions on the site (anon users too). So far, we use jsessionId to identify each user and his actions.
That API, now runs on Tomcat and JBoss.
The really matter question is, since we analize all data one a day, is in any way the uniqueness of this jsessionId guaranteed all along the day? Or, not concurrently, can other user get the same jsessionId used previously by other one?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
抱歉,没有指定。只需要在该时间点对于该 jvm 来说是唯一的。也就是说,只要没有其他人拥有会话,会话 ID 每天就可以重复使用多次。我同意大多数实际实现可能会提供更有力的保证,但我认为您不能指望它。
查看此邮件列表 -在其中,人们讨论了 Tomcat 和 Resin 中的会话 ID 重用。
因此,基本上,会话 ID 是唯一的假设只有在会话被销毁之前才成立。
Sorry, it's not specified. It's only required to be unique for that jvm at that point in time. That is, session ids can be reused multiple times a day, as long as no one else has a session in place. I agree that most actual implementations might offer a stronger guarantee, but I don't think you can count on it.
Take a look at this mailing list - in it the people discuss session id reuse in both tomcat and resin.
So, basically the assumption the session ID is unique, is only true until the session gets destroyed.