2010-06-02 129 views
1

在我以前的理解中,对于一个网站,只有一个网站的登录用户(不管使用什么登录/认证方式)都可以将cookie作为持久标识符,这样如果用户关闭浏览器,再次打开浏览器去同一个网站,网站可以记住用户。浏览器cookie问题

但是我最近了解到,对于非登录用户来说,似乎仍然存在与用户关联的cookie(在用户关闭浏览器之后,再次打开浏览器以访问同一网站,网页网站可以记住用户),它被称为浏览器cookie?真的吗?

如果是,那么谁来负责设置浏览器cookie?即在Web服务器端需要一些编码/配置,客户端浏览器配置(不需要从服务器端编码),还是两者都需要? Web服务器如何访问这样的cookie?欣赏是否有代码示例。

由于事先 乔治

回答

2

无论你实际上“登录”与否无关,存储什么饼干。

如果浏览器请求一个页面,并且服务器包含一个Set-Cookie响应头,那么浏览器会将该cookie的值存储在本地缓存中,并且每次从同一服务器请求一个页面时,它会发送该值的Cookie也回来了(在Cookie请求标头中)。

恰恰恰巧,当您“登录”到网站时,网站通常会使用Set-Cookie标题告诉浏览器存储一个值,表明您已经登录(并且您的用户标识和其他一些安全相关的东西)。但是在任何时候都没有什么能够阻止网络服务器使用Set-Cookie

+0

“又回来了” - 你的意思是从客户端浏览器到Web服务器的请求? – George2 2010-06-02 05:35:58

+0

以及如何确定cookie是否持久?持久性我的意思是在浏览器关闭后,cookie仍然存储在客户端,以便下次打开浏览器访问同一个网站时,cookie值仍然存在? – George2 2010-06-02 05:37:41

+1

@ George2:再回来“,这是正确的。 Cookie是与请求一起发送的报头值(例如,与用户代理传递给服务器的方式类似)。 – 2010-06-02 05:53:54