cookie位于客户端,可是session又是以cookie为基础的,明白的两者之间的联系和区别,我们就不难选择合适的技术来开发web
service了。
Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID
为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一
SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也会失效。
用cookie获取当前的系统时间
<?php
setcookie("TMCookie",'www.mrbccd.com');
setcookie("TMCookie", 'www.mrbccd.com', time()+60); //设置cookie有效时间为60秒
//设置有效时间为60秒,有效目录为“/tm/”,有效域名为“mrbccd.com”及其所有子域名
setcookie("TMCookie", $value, time()+3600, "/tm/",". mrbccd.com", 1);
?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript" src="datetime.js"></script>
<?php
date_default_timezone_set("Etc/GMT-8");
echo "<br>当前时间:" , date("Y-m-d H:i:s") , "<br>";
echo $_COOKIE['TMCookie'];
?>
session_start: 初始 session。
session_destroy: 结束 session。
session_unset: 释放session内存。
session_name: 存取目前 session 名称。
session_module_name: 存取目前 session 模块。
session_save_path: 存取目前 session 路径。
session_id: 存取目前 session 代号。
session_register: 注册新的变量。
session_unregister: 删除已注册变量。
session_is_registered: 检查变量是否注册。
session_decode: Session 资料解码。
session_encode: Session 资料编码。
session_start() 函数必须位于 标签之前:
列如:
<?php
session_start();
$_SESSION['views']=1;
?>
Session的工作原理,当启动一个Session会话时,会生成一个随机且唯一的Session—ID,也就是Session的文件名,此时Session_id存储在服务器的类存中。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。
需要注意的是,一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的Session同B用户和C服务器中建立连接时所处的Sessions是两个不同的Session。