相对于 Cookie,Session会话文件中保存的数据在PHP脚本中是以变量的形式创建的,创建的会话变量在生命周期(20分钟)内可以被跨页的请求所引用。另外,Session会话是存储在服务器端的,相对比较安全,也并不像 Cookie 那样有存储长度的限制。在Web系统中,通常是指用户与 Web 系统的对话过程。也就是从用户打开浏览器登录到 Web 系统开始,到关闭浏览器离开 Web 系统这段时间,同一个用户在 Session 中注册的变量,在绘画期间各个 Web 页面中这个用户都可以使用,每个用户使用自己的变量。
1. 什么是 Session
Session 翻译为 “会话”的意思,其本意指的是有始有终的一系列动作/消息,如打电话时从拿起电话拨号到挂断电话这一系列过程可以称为一个 Session。
在计算机专业术语中, Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统所经过的时间。因此, Session实际上是一个特定的时间概念。
2. Session 工作原理
当启动一个 Session 会话时,会生成一个随机且唯一的 Session_id, 也就是 Session的文件名,此时 Session_id 存储在服务器的内存中。当关闭页面是此 id 会自动注销,重新登录此页面,会再次生成一个随机且唯一的 id。
3. Session的功能
Session 在 Web 技术中非常重要。有欲望也是一种无状态的连接程序,因此无法得知用户的浏览状态。 通过Session 则可以记录用户的相关信息,以供用户以此身份对Web 服务器提交要求时做确认。 例如,在电子商务网站中,通过 Session 记录用户登陆的信息,以及用户所购买的商品,如果没有 Session,那么用户每进入一个页面都需要登陆一次用户名和密码。
另外, Session 会话适用于存储信息量比较少的情况。 如果用户需要存储的信息量相对较少,并且对存储内容不需要长期存储,那么使用 Session 把信息存储到服务器端比较合适。