会话和cookie如何工作?

时间:2009-10-26 03:25:33

标签: php session cookies

当我创建一个会话变量,其中保存了用户名和密码,它是如何在内部工作的?关于保存信息的常规cookie的相同问题。 coookie和session中包含哪些类型的信息?他们之间有什么区别?

3 个答案:

答案 0 :(得分:11)

我发现的有关会话和Cookie的最佳文章是

http://shiflett.org/articles/the-truth-about-sessions

答案 1 :(得分:4)

总结一下,cookie是客户端计算机上的文件。您可以在其中存储任何内容(对象,文本......)。会话对象可以存储在cookie中,就像存储某些文本一样。请记住session!= cookie,因为有时您可以在数据库中存储会话对象。

但是,我认为你必须阅读一些文档。

wikipedia

  

在计算中,一个cookie(也跟踪   cookie,浏览器cookie和HTTP   cookie)是一小段文字   通过网络存储在用户的计算机上   浏览器。一个cookie由一个或   更多包含位的名称 - 值对   用户等信息   偏好,购物车内容,   基于服务器的标识符   会话或其他使用的数据   网站。

     

它由Web发送为HTTP标头   服务器到Web浏览器然后发送   每个浏览器返回不变   它访问该服务器的时间。一块饼干   可用于验证,   会话跟踪(状态维护),   并记住具体信息   关于用户,例如网站首选项   或者他们的电子内容   购物车。术语“cookie”是   源于“魔法饼干”,a   UNIX计算中众所周知的概念   这启发了这个想法和   浏览器cookie的名称。一些   存在cookie的替代品;每   有自己的用途,优点和   缺点。

     

简单的文字,饼干   不可执行。他们都不是   间谍软件或病毒,虽然是cookies   从某些网站检测到   很多反间谍软件产品都是因为   他们可以允许用户被跟踪   当他们访问各个网站时。

     

大多数现代浏览器都允许用户使用   决定是否接受cookie,和   保持他们的时间框架,但是   拒绝cookie使一些网站   无法使用。例如,购物车   或者使用的登录系统   如果是cookie,cookie不起作用   禁用。

答案 2 :(得分:2)

通常,会话数据存储在服务器上,它使用跟踪cookie将用户附加到数据中。另一方面,Cookies直接在用户的浏览器中设置。

一个关键区别:最终用户通常无法看到会话变量,但cookie可以(使用正确的浏览器插件)

此外,如果您有多个前端Web服务器,Cookie将被发送到所有前端服务器,但会话数据不会在没有额外工作的情况下共享。