我一直对会话(session)的内部工作方式感兴趣,但我对C语言知识很少(并且不确定在PHP源代码中应该查找什么)。
目前我对会话(session)的理解是:
- 当您启动一个会话(session)时,用户会被分配一个会话ID,该ID存储在cookie中。
- 当会话数据通过
$_SESSION
保存时,它会与相关的会话ID和到期时间一起存储在文件系统中。
这个理解正确吗?此外,会话ID是如何创建的呢?我猜测它基于时间,但如果两个用户同时发送请求会怎样?内部有哪些方法可以防止它们获得相同的ID?
谢谢!