为什么会话需要存储在站点服务器上?

时间:2014-01-13 20:59:47

标签: php session cookies browser server-side

我只是想知道为什么会话需要存储在站点服务器上...我知道它因为无法访问因此用户会话无法更改,但为什么你需要cookie?为什么你不能只拥有一种总是存储在服务器中的数据容器?

提前致谢。

2 个答案:

答案 0 :(得分:2)

HTTP在设计上是无状态的,您需要cookie才能拥有会话。当然,你可以在每个网址上添加一个phpsessionid,但是你只是把你的网址搞得一团糟,把状态放在不属于的地方。

存在Cookie以添加少量状态,如果您只是使用PHP会话,那么他们所需要的只是存储一个phpsessionid并且您已完成。但是,也许你有一个用户可以设置的首选项,不需要使用一个完整的会话,cookie提供了一种很好的方法来保存这些数据,而不会花费你的服务器上的磁盘空间。

关于此事项的Cookie和会话(以及现在的本地存储)并不相互排斥,使用正确的工具来完成正确的工作。

答案 1 :(得分:0)

非常简单,当您关闭浏览器时,会话存储被删除,在cookie中您可以存储用户名,因此当用户重新访问您的网站时,它们已经被填写