php session 的原理机制是什么?

phpsession的原理机制是什么啊,哪位高手解释一下。谁有php厉害的群推荐我进去学习一下。... php session的原理机制是什么啊,哪位高手解释一下。谁有php厉害的群推荐 我进去学习一下。 展开
 我来答
宇宙大师之一
2015-06-05 · TA获得超过3477个赞
知道小有建树答主
回答量:2271
采纳率:52%
帮助的人:721万
展开全部
首先说一下在php中如何操作session

session_start(); //使用该函数打开session功能

$_SESSION //使用预定义全局变量操作数据

$_SESSION['user'] = 'php'; //定义一个session

echo $_SESSION['user']; //输出session

使用unset($_SESSION['user']) //销毁一个session的值

简单地操作,一切都是由服务器实现;由于处理在后台,一切看起来也很安全。但是session采用什么样机制,又是怎样被实现,并且如何来保持会话的状态的呢?

下面我们了解一下session实现与工作原理

浏览器和服务器采用http无状态的通讯,为了保持客户端的状态,使用session来达到这个目的。然而服务端是怎么样标示不同的客户端或用户呢?
这里我们可以使用生活中的一个例子,假如你参加一个晚会,认识了很多人,你会采取什么方式来区分不同的人呢!你可能根据脸型,也有可能根据用户的名字,
或者人的身份证,即采用一个独一无二的标示。在session机制中,也采用了这样的一个唯一的session_id来标示不同的用户,不同的是:浏览器每次请求都会带上
由服务器为它生成的session_id.

简单介绍一下流程:当客户端访问服务器时,服务器根据需求设置session,将会话信息保存在服务器上,同时将标示session的session_id传递给客户端浏览器,
浏览器将这个session_id保存在内存中(还有其他的存储方式,例如写在url中),我们称之为无过期时间的cookie。浏览器关闭后,这个cookie就清掉了,它不会存在用户的cookie临时文件。
以后浏览器每次请求都会额外加上这个参数值,再服务器根据这个session_id,就能取得客户端的数据状态。

如果客户端浏览器意外关闭,服务器保存的session数据不是立即释放,此时数据还会存在,只要我们知道那个session_id,就可以继续通过请求获得此session的信息;但是这个时候后台的session还存在,但是session的保存有一个过期时间,一旦超过规定时间没有客户端请求时,他就会清除这个session。
百度网友26f7db8
2015-01-08 · TA获得超过160个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:170万
展开全部
不懂你的机制是什么意思,其实就是在服务器上建立一批存session的文件,不过他们有自己的一套体制,包括失效删除等等。既然你提到的是php的session详细你参考下
http://www.w3cschool.cn/php_sessions.html
我不确定你是想会用和用好它,还是服务器层面上是怎么实现session的存储和删除的,包括session保存的路径等等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式