什么是php session_id?

时间:2010-08-31 22:35:14

标签: php session

我理解$_SESSION这个东西并且我使用它,但是session_id到底是什么,它给了什么?我不明白,你能帮帮忙吗?谢谢。

3 个答案:

答案 0 :(得分:7)

嗯,你需要一个关于网络技术的小课程。

我们使用的协议,名为HTTP,无状态。意味着它永远不会跟踪请求。即使你点击网站上的几个链接,每个请求都是全新的,好像没有以前的请求。无法区分来自同一客户端的请求。

因此,如果我们想要区分客户,我们必须以某种方式“标记”它们。分配一些唯一标识符,并使它们随每个请求一起发送。所以你的会话ID是那个标记。当您第一次启动会话时,会发送cookie以及服务器的响应。好的客户端总是在每次连续请求时发回所有cookie。所以,我们可以认出那个客户。

将服务器端的文件(以此会话ID命名)存入会话数据 - 现在您已经有了会话机制!

答案 1 :(得分:6)

session_id()按照session_name()返回的名称返回会话cookie的值。 session_id()通常是客户端唯一的非常长的哈希值。

PHP可以通过这种方式在内部实现客户端cookie的设置:

setcookie( session_name(), session_id() );

答案 2 :(得分:0)

我建议您阅读Session reference on php.net。您可以使用session_id()获取会话ID。它的值是由PHP生成的。