会话控制是一种面向连接的可靠通信方式,通常根据会话控制记录判断用户登录的行为。
为什么要使用会话控制
我们在上网时,访问每一个网页都需要使用HTTP协议来进行交互。但是HTTP协议是无状态协议,也就是说HTTP协议没有一个内建机制来维护两个事物之间的状态。
举个例子,当你登录一个网站后,再去浏览这个网站上的其他页面时,HTTP协议并不能告诉我们这两个请求是来自同一个用户,会被当做独立的请求,进而不能在不同的页面之间跟踪用户。
因此,会话控制的思想就是允许服务器跟踪同一个客户端做出的连续请求。此外,还可以对同一个请求者在多个页面之间进行共享数据。
会话跟踪的方式
今天主要介绍以下两种会话跟踪的方式:
- 使用cookie将访问者的状态信息,存放在客户端的计算机中。
- 使用session将访问者的状态信息,存放在服务器中。
Cookie的应用
Cookie是一种由服务器发送给客户端的片段信息,存储在客户端浏览器的内存或硬盘上,在客户对该服务的请求中发回它。
1、向客户端中设置Cookie
Cookie的建立十分简单,只要用户的浏览器支持Cookie功能,就可以使用PHP内置的 setcookie()函数来建立一个Cookie。
Cookie是HTTP头的一部分,和其他 HTTP 头一样,必须在脚本产生任意输出之前发送 Cookie(由于协议的限制),因此setCookie()函数必须在其他信息被输出到浏览器之前调用。语法格式如下:
setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] ) : bool
//使用setCookie()函数的全部参数设置
setcookie("TestCookie