HTTP
是
stateless
. 这意味着,每当您从Web服务器请求某个内容时,它将为请求的页面提供服务,并立即忘记您。
想象一下购物车:
你给购物车加了点东西。服务器将具有某种类型的数据存储来记住您将项目X放入购物车中,但是由于HTTP是无状态的,所以下次调用服务器时,它不会记得是您将某些东西放入购物车中。Web服务器可以在返回的页面上创建一个表单,并用您添加的每个项填充该表单。现在您可以添加另一个项目,但也可以发送已添加的项目。重复。这有效地转移了每一个请求上交互的整个状态。但这是相当低效和不安全的。
用
Sessions enabled
,Web服务器将创建一个唯一的ID,即
Session ID
为你。这将用于在后续请求中链接您和购物车。通常,会话ID在
Cookie
. 从技术上讲,这是通过HTTP头实现的:
Set-Cookie: PHP_SESS=abcdefg123456
浏览器读取头并在浏览器内的cookie存储中创建或更新cookie文件。通常,cookie文件只不过是存储在计算机文本文件中的键/值。如果你想看看他们,谷歌会搜索“我的cookies存储在哪里”。
在对同一个Web服务器的下一个请求中,您的浏览器将发送cookie,并且Web服务器现在可以将此ID与某些数据存储区(任何设置为
session save handler
)在服务器上,例如登录信息、购物车的内容等
有关详细信息,请参阅我在您的问题下面链接的PHP手册参考。