Session 用户会话/数据如何存储在web服务器上?

Session 用户会话/数据如何存储在web服务器上?,session,architecture,operating-system,webserver,Session,Architecture,Operating System,Webserver,我刚刚开始认真研究web开发,不仅仅是静态页面,我一直在想,每个用户的数据是如何存储在服务器上的?当一个用户提交一个表单帖子,并在另一个页面上查找它时,服务器如何区分user1的FooForm数据和user2的FooForm数据?我知道您可以通过cookie和HTTP请求跟踪用户,但服务器如何保持所有这些数据集可用?每个用户会话是否都有一个小型虚拟机?或者是某种寻呼系统,在这种系统中,用户的内容得到服务,然后服务器像系统线程一样将该进程交换出去一段时间?我一直想知道,一个拥有一百万并发访问者的网

我刚刚开始认真研究web开发,不仅仅是静态页面,我一直在想,每个用户的数据是如何存储在服务器上的?当一个用户提交一个表单帖子,并在另一个页面上查找它时,服务器如何区分user1的FooForm数据和user2的FooForm数据?我知道您可以通过cookie和HTTP请求跟踪用户,但服务器如何保持所有这些数据集可用?每个用户会话是否都有一个小型虚拟机?或者是某种寻呼系统,在这种系统中,用户的内容得到服务,然后服务器像系统线程一样将该进程交换出去一段时间?我一直想知道,一个拥有一百万并发访问者的网站是如何为所有访问者提供服务并保持包含所有单个用户会话的

我熟悉操作系统多线程体系结构和算法,但在一台从1到n的机器上使用从1到100万个独立的“线程”这样做的想法令人兴奋

算法是否会随着比例的变化而变化

在我问太多问题之前,我会停下来,但我希望有人能有一些专业知识来为我解释这一点,或者给我指出一个好的资源


感谢阅读。

通常,如果存储的值不止几个,则整个数据集都保存在数据库中。无限期地将一百万用户的信息保存在内存中是不可能的低效。但是对于匿名用户,或者在用户完成他们的目标之前只与几分钟相关的数据,或者其他什么呢?那种不能保存到数据库的东西肯定在某个地方,是吗?当然会。我曾经在一家在线退休公司工作,那家公司就是这么做的。如果用户没有帐户,则会创建一条临时记录来跟踪他们的会话。