一、为什么要使用cookie和会话
HTTP是一种无状态技术,这意味着每个单独的HTNML页面都是一个无关的。当人们穿过站点时,HTTP 没有用于跟踪用户或保持变量的方法,尽管浏览器会跟踪你访问过的页面,但服务器不会记录谁看过什么内容。使用服务端技术可以克服Web的无状态性。可用于此目的的两种最佳的工具就是cookie和会话。
cookie和会话之间的关键区别是:cookie将数据存储在用户的浏览器中,而会话把数据存储在服务器上面。会话一般比cookie安全,并且可以存储更多的信息。
二、PHP如何使用Session
登陆过程涉及几个部分组成:
- 用于提交登陆信息的表单
- 确认必要信息已提交的验证例程
- 比较提交的信息与存储的信息的数据库查询
- 用于存储反映登陆成功的cookie或会话
后续页面将包含一些检查,用于确认用户已经登录(用于限制用于对某些页面的访问)。还有注销过程,涉及清除表示登录状态的cookie或会话数据。
PHP使用Session很简单,使用session_start()启动Session,然后就可以同过超全局变量$_SESSION添加、读取或修改Session中的数据。以下代码列举了Session的基本使用
session_start(); $_SESSION['username'] = 'JXC'; //向Session中添加数据 $_SESSION['info'] = array(1,2,3); if(isset($_SESSION['test']){ $tet = $_SESSION['test']; //读取Session中的数据 } unset($_SESSION['username']); //删除单个数据 $_SESSION = array(); //删除所有数据 session_destory() //结束当前会话
三、HTTP响应消息头
消息头 | 说明 |
---|---|
Location | 控制浏览器显示哪个页面 |
Server | 服务器的类型 |
Content-Type | 服务器发送内容的类型和编码类型 |
Last-Modified | 最后一次修改时间 |
Date | 响应网站的时间 |