1、会话控制
首先HTTP协议具有俩大特点:
①无连接:每次链接只处理一个请求,服务器处理完客户的请求,接收到客户的应答时,即断开链接,采用这种方式可以节省传输时间。
②无状态:HTTP协议对事物的处理没有记忆性。那么再一次请求完成以后,如果后续处理需要之前的信息,就必须重新输入,这样就导致每次连接的数据量增大,请求变慢。
为了解决HTTP协议无记忆的缺陷,能够将数据持久化的保存在客户端或者是服务器端,从而让浏览器和服务器进行多次数据交换产生连续性。
2、cookie技术
——将数据持久化存储在客户端的一种技术
cookie的原理:使用浏览器访问设置cookie的页面是,cookie信息会随着响应头返回给浏览器,并且保存在浏览器中。
操作cookie
设置cookie: setcookie(var1,var2,var3); var1--cookie的名称'name' var2--名称对应的值 var3--cookie的有效期(var3=-1或不设置时,关闭浏览器失效;设置time+秒数,则在当前时间点的多少秒数以后失效) setcookie函数还有参数4、5,可以用来控制cookie的有效访问,但是一般不用。 在不使用参数4和5的情况下,cookie在当前目录及子目录中有效,在上层目录中无效。 例: setcookie('name','zs',time()+3600); 相当于 $_COOKIE = [ 'name' => 'zs' ]; 使用php的超全局变量读取$_COOKIE print_r($_COOKIE); 删除cookie setcookie('name',null);
js控制cookie
<script> 设置cookie: document.cookie = “名称=值;expires=时间” 读取cookie: document.cookie </script>
session技术
session会将数据保存到服务器端,安全性就可以得到保证。
php使用session时,首先要使用session_start()函数来开启session。
$_SESSION 超全局变量就能设置和读取session中的内容
扫描二维码关注公众号,回复:
1915944 查看本文章
设置session session_start(); $_SESSION['key'] = '动漫'; $_SESSION['day'] = '2018-7-2'; 读取session session_start(); print_r($_SESSION);
在当前网站的任何一个页面设置过session,则该网站的所有页面都能得到该session的数据。
session的有效期
浏览器关闭时,session消失
删除session
unset($_SESSION[‘name’]); //删除单个session session_destroy(); //删除所有session
cookie和session的联系
3、之后每次访问该网站时,都会携带cookie中的session_id,来和服务器中的session文件名进行比对。
4、当文件名和cookie中的session_id一致时,则说明使用的是该session文件,可以从该session文件中读取数据。