为什么需要cookie来保留有状态信息?

时间:2016-05-08 17:23:18

标签: security cookies stateful

我正在阅读维基百科的cookie,他们说需要保留有状态的信息,例如购物车中的商品等。但为什么你需要这样做呢?例如,为什么不将状态存储在数据库表中?

2 个答案:

答案 0 :(得分:3)

您可以将状态存储在数据库中,但您需要知道该状态的所有者是谁,因此您需要在请求之间标识客户端。

将Cookie视为浏览器的来电显示。这是他们的主要用途。当你第一次使用浏览器点击我的网络服务器时,我说,嘿,让我在你的浏览器的某个地方设置这个来电显示器'所以下次打电话的时候,我会读它然后再知道你了。一旦我知道了你,那么我可以在我的数据库中查看更多信息,例如您的购物车项目。

我设置的来电者ID也无法被其他网站读取或修改,如果他们想要识别您需要自己设置的话。

答案 1 :(得分:1)

Cookie可用于保留客户端的信息。

例如,在您给出的示例中,您可以使用Cookie保存尚未登录或注册的人的购物车。

如果您使用数据库来检索此类数据,则需要一种可靠的方法来识别当前访问者,除了要求登录之外,您可能没有多少选择。

一般情况下,您希望提供一些cookie,这些信息可以使访问者的生活更轻松,但这并不是必需的(cookie确实过期,可以清空,访问者可以使用其他浏览器等) )。