7

我刚刚完成了 Web 应用程序的期末考试。结束一个相当简单(尽管很长 - 12 页)的考试是一个要求我们编写会话实现的问题,类似于 javax.http.HttpSession 所做的。

我不想承认,它难倒了我。我使用 HashMap 制作了一个相当 BS 的实现,并用随机 cookie 字符串映射到服务器上的序列化 HashMap 做了一些疯狂的事情,但我很确定它是假的......现在我很想知道它实际上是如何完毕。

特别是作为一个广泛使用 PHP 但无论出于何种原因从未费心学习便利背后的魔力的人,我非常有兴趣了解有关会话的底层实现的更多信息。J2EE 和 PHP 是肯定的,但任何其他语言/框架也很棒。谢谢!

4

2 回答 2

8

据我了解 - 你很接近。

据我了解,本质上是 MD5“ID”的 cookie 保存在客户端,并通过 cookie 或修改后的 GET 传递。

在服务器端,具有匹配 sessionID 的“会话”数据保存在一个临时文件中(在 Linux 上它默认为 /tmp)。会话目录我相信可以在 PHP.ini 文件中设置。

于 2009-12-11T00:48:45.057 回答
1

由于它是一个接口,您可以查看在 Tomcat 等开源 Web 容器中实现它的类,然后自己看看。

于 2011-03-09T20:05:37.027 回答