会话cookie = cookie吗?

11

我想知道 Cookies 是否与会话 Cookies 相同?

4个回答

15

Cookie是指一个小型的文本文件。

"Session cookie"可以指两种不同的含义:

  • 一个超时时间未指定的cookie,该cookie将在浏览器关闭后立即被丢弃。也就是说,浏览器只会在当前的“浏览会话”中保留它。
  • 包含会话ID的cookie。

有时候它同时意味着这两个含义。这不是一个非常明确的术语。

因此,正确的描述应该是session cookie ⊆ cookie,而不是session cookie = cookie。;o)


@Bolt 嗯?不明白这个引用。 :D - deceze
@Bolt 当然。这是文化差异的问题。 :D - deceze
@deceze,我来晚了,但还是想问一下。所以,所有的cookie,无论是否与会话相关,都存储在操作系统的同一个文件夹中? - slevin
1
@slevin 取决于浏览器,但很可能是这样的。浏览器不知道什么是“会话cookie”(包含会话ID的cookie),对它来说那只是一个普通的cookie。关于“会话cookie”(仅在当前浏览会话期间有效的cookie)是否有任何区别取决于浏览器实现;但我看不出为什么要将其存储在其他地方。 - deceze
@deceze 哦,所以会话cookie、cookie和浏览器cookie都是HTTP cookie。默认情况下,它们都存储在同一个操作系统文件夹中。再次感谢。 - slevin

7

所有的会话cookie都是cookie,但并非所有的cookie都是会话cookie。

会话cookie的唯一目的是在您的网站上维护会话状态。它们通常在您关闭浏览器时就消失了,而包含其他数据的其他cookie则往往会持续存在于会话之间。


好的,所以会话 cookie 是用于在服务器中获取会话信息的 cookie 吗? - ajsie
1
@weng: 其实是另外一种方式。它是用于让服务器知道谁在谁的会话中。 - BoltClock

4
我想知道cookies和session cookies是否相同?
不是。有不同类型的cookies。
- Session cookies通常用于跟踪会话。当您关闭浏览器时,它们将被浏览器删除。 - 持久性cookies保存在硬盘上。当到达到期日期时,持久性cookies会过期(被浏览器删除)。 - 第一方cookies由您实际访问的网站设置/检索。 - 第三方cookies由不同的域设置/检索。通常用于广告和网站之间的信息共享。
还有HTTP Only、Secure和"zombie" cookies。

1
主要区别在于Cookie存储在用户的浏览器中,而Session则不是。这种差异决定了它们最适合用于什么。
Cookie可以将信息保存在用户的浏览器中,直到被删除。如果一个人有登录名和密码,这可以设置为他们浏览器中的Cookie,这样他们每次访问您的网站时就不必重新登录。几乎可以在浏览器Cookie中存储任何内容。问题在于用户可以随时阻止Cookie或删除它们。例如,如果您网站的购物车使用Cookie,并且某个人将其浏览器设置为阻止Cookie,则他们无法在您的网站上购物。
Session不依赖于用户允许Cookie。它们像令牌一样工作,允许访问并在用户打开浏览器时传递信息。 Session的问题在于当您关闭浏览器时,也会失去Session。因此,如果您有一个需要登录的网站,这不能像Cookie一样保存为Session,用户每次访问时都必须重新登录。
当然,您可以获得最佳效果!一旦您知道每个功能,您可以使用Cookie和Session的组合来使您的网站按照您想要的方式正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接