作为Web开发人员,我们所有人都知道会话有助于克服与HTTP无状态本质相关的问题。我们创建一个唯一的会话ID,并将其发送给浏览器-当浏览器向我们发送相同的ID时,我们可以轻松识别用户。
所有这些听起来很简单,而且用任何一种语言实现都没有那么复杂。
现在
查看我拍摄的以下屏幕截图。这些显示了流行网站存储的cookie类型。看起来他们正在存储多个会话ID,或者正在尝试通过设置太多cookie来隐藏实际ID,或者,这是他们为防止会话劫持和其他相关问题而采取的一种非常专门的安全措施。管他呢。
Gmail(登录前)
Gmail(登录后)
脸书
StackExchange
(不用担心,您不能偷走我的会话-这是陈旧且不完整的:))
因此,我的问题是-这种复杂性有什么目的?请说明这些不同的Cookie的含义(通常),以及它们的设置目的。最后,提示我如何在自己的应用中做到这一点(以及是否应该这样做)。
另一个问题:在很多情况下,Cookie中的值看起来像是URL编码的-为什么呢?