标签:user family 专业 时域 方法 范围 原理 web 比较
session:在计算机中,尤其是在网络应用中,称为“会话”。
session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。
具体到web中的session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,session实际上是一个特定的时间概念。
需要注意的是,一个session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。a用户和c服务器建立连接时所处的session同b用户和c服务器中建立连接时所处的sessions是两个不同的session。
那什么是session的解决方案呢?我们知道,用户访问一个网站时往往需要浏览许多网页。对于一个通过php构筑的网站来说,用户在访问的过程中需要执行许多的php脚本。然而由于http协议自身的特点,用户每执行一个php脚本都需要和web服务器重新建立连接。
又由于无状态记忆的特点,此次连接无法得到上次连接的状态。这样,用户在一个php脚本中对一个变量进行了赋值操作,而在另外一个php脚本中却无法得到这个变量的值。例如,用户在负责登录的php脚本中设置了$user="wind",却无法在另一个php脚本中通过调用$user来获得“wind”这个值。也就是说,在php中无法设置全局变量。每个php脚本中所定义的变量都是只在这个脚本内有效的局部变量。
session解决方案,就是要提供在php脚本中定义全局变量的方法,使得这个全局变量在同一个session中对于所有的php脚本都有效。上面我们提到了,session不是一个简单的时间概念,一个session中还包括了特定的用户和服务器。因此更详细地讲,在一个session定义的全局变量的作用范围,是指这个session所对应的用户所访问的所有php。
例如a用户通过session定义了一个全局变量$user=“wind”中,而b用户通过session定义的全局变量$user=“jane”。那么在a用户所访问的php脚本中,$user的值就是wind。
Session:在计算机中,尤其是在网络应用中,称为“会话控制”。
Session直接翻译成中文比较困难,一般都译成时域。
在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。
以及如果需要的话,可能还有一定的操作空间。
具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到关闭这个网站所经过的这段时间,也就是用户浏览这个网站所花费的时间。
session的工作原理
(1)当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中。
(2)首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量。
(3)当执行PHP脚本时,通过使用session_register()函数注册session变量。
(4)当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.save_path指定,下次浏览网页时可以加载使用。
标签:user family 专业 时域 方法 范围 原理 web 比较
原文地址:https://www.cnblogs.com/lncyc/p/14495752.html