会话控制

本文详细介绍了会话控制机制,包括cookie和session的工作原理、应用场景及区别。解释了如何设置和删除cookie,以及如何开启和销毁session。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

会话控制

用户和网站之间的交流,允许服务器跟踪同一个客户端做出的连续请求。
cookie:服务器端给客户端的信息让客户端存储
原理
一个用户在访问服务器时,服务器脚本根据业务逻辑设置cookie给用户,用户在客户端电脑的指定文件夹下创建这个网站的文本文件(文本文件通常和域名有关系),用于记录要保存的一些值。访问多个网站就创建多个这样的文件。如果用户在访问本网站的其他页面的时候通过HTTP协议会自动的将客户端设置的文本里面的值带给其他页面中使用。如果多个客户端同时访问这个服务器的时候,就是同时多次的走上面的流程。但是每个客户端之间的值是不会相互影响的。这个保存网站信息的文件:cookie文件,一整套这样的机制我们叫cookie机制。
cookie的应用
设置cookie
setcookie('名','值',保存时间);
注意: 如果保存时间不写那么就是关闭浏览器就删除该cookie
应用cookie
所有的客户端访问时候自动将所有的这个网站下的cookie都带过来自动的给$_COOKIE这个数组
删除cookie
设置过期时间 setcookie('名','值',time()-1)
setcookie(‘名’,'')
setcookie('名',null);
注意:
1、第一次设置cookie在下面马上打印$_COOKIE是打印不出来的。因为第一次的时候是将cookie从服务器端相应给客户端,下次再访问的时候才能放在请求头里面将数据带给服务器,并且从http的请求头中将数据拿到$_COOKIE里面。
2、设置cookie的值的方法必须使用setcookie设置不能使用$_COOKIE[]这种方法来设置。
3、setcookie的第四个参数,cookie的有效路径,他默认的路径是当前目录。你设置在那个路径存,就得在那个目录取(父类目录设置的cookie能给子目录用,但是子目录设置的cookie父目录不能用的)
session
服务器存储信息
原理
客户端第一次访问网站的时候会给你一个不重复的号码(session id)给客户端,服务器将这个号码放在cookie里面,服务器端分给你session id 的时候同时在服务器端创建一个文件(这个文件名通常和session id一样),在指定的目录下创建。,下次用户请求这个网站的其他页面的时候,客户端通过http协议将分配的session id带给服务器端,然后服务器根据session id找对应的文件,然后从里面读取内容。以供网站的其他页面使用。
session应用
开启session(只有开启session之后才能告诉PHP调度服务器里面的一些session机制)
作用
  1、第一次会发送session id 给客户端,创建session文件。 
2、以后的时候使用时,根据http协议带过来的session id值,找服务器里面的session文件。
使用$_SESSION来存储数组
删除session
session的session ID在关闭浏览器的时候就失效了。下次的时候会重新分配一个标识。
步骤
1、开启session  session_start();
2、清空session数组。
   unset($_SESSION);或将session中某个值删除掉。
3、销毁session文件。
     session_destroy();
4、删除客户端sessionID,注意,删除的时候setcookie的第四个参数必须使用/
setcookie('PHPSESSID','',time()-1,'/');
注意
session可以自动开启
session.auto_start=0 是否自动开启session
session和cookie的区别
1、cookie是直接将内容存储在客户端,然后第一次服务器端口给客户端让客户端存储。
2、session是将内容存储在服务器端,但是需要借助于cookie的机制来从客户端和服务器端传递session  id
3、cookie的默认路径为当前脚本的目录。
4、session的session id默认的路径为根目录。
5、cookie的有效时间可以自己设定
6、session的有效时间在默认情况下关闭浏览器就失效。
7、cookie的删除直接删除的是客户端的内容。
8、session的删除必须从几方面来进行删除:
1、客户端的session_id
2、服务器端的文件
3、必须得开启session机制才行。
用户和网站之间的交流,允许服务器跟踪同一个客户端做出的连续请求。
cookie:服务器端给客户端的信息让客户端存储
原理
一个用户在访问服务器时,服务器脚本根据业务逻辑设置cookie给用户,用户在客户端电脑的指定文件夹下创建这个网站的文本文件(文本文件通常和域名有关系),用于记录要保存的一些值。访问多个网站就创建多个这样的文件。如果用户在访问本网站的其他页面的时候通过HTTP协议会自动的将客户端设置的文本里面的值带给其他页面中使用。如果多个客户端同时访问这个服务器的时候,就是同时多次的走上面的流程。但是每个客户端之间的值是不会相互影响的。这个保存网站信息的文件:cookie文件,一整套这样的机制我们叫cookie机制。
cookie的应用
设置cookie
setcookie('名','值',保存时间);
注意: 如果保存时间不写那么就是关闭浏览器就删除该cookie
应用cookie
所有的客户端访问时候自动将所有的这个网站下的cookie都带过来自动的给$_COOKIE这个数组
删除cookie
设置过期时间 setcookie('名','值',time()-1)
setcookie(‘名’,'')
setcookie('名',null);
注意:
1、第一次设置cookie在下面马上打印$_COOKIE是打印不出来的。因为第一次的时候是将cookie从服务器端相应给客户端,下次再访问的时候才能放在请求头里面将数据带给服务器,并且从http的请求头中将数据拿到$_COOKIE里面。
2、设置cookie的值的方法必须使用setcookie设置不能使用$_COOKIE[]这种方法来设置。
3、setcookie的第四个参数,cookie的有效路径,他默认的路径是当前目录。你设置在那个路径存,就得在那个目录取(父类目录设置的cookie能给子目录用,但是子目录设置的cookie父目录不能用的)
session
服务器存储信息
原理
客户端第一次访问网站的时候会给你一个不重复的号码(session id)给客户端,服务器将这个号码放在cookie里面,服务器端分给你session id 的时候同时在服务器端创建一个文件(这个文件名通常和session id一样),在指定的目录下创建。,下次用户请求这个网站的其他页面的时候,客户端通过http协议将分配的session id带给服务器端,然后服务器根据session id找对应的文件,然后从里面读取内容。以供网站的其他页面使用。
session应用
开启session(只有开启session之后才能告诉PHP调度服务器里面的一些session机制)
作用
  1、第一次会发送session id 给客户端,创建session文件。 
2、以后的时候使用时,根据http协议带过来的session id值,找服务器里面的session文件。
使用$_SESSION来存储数组
删除session
session的session ID在关闭浏览器的时候就失效了。下次的时候会重新分配一个标识。
步骤
1、开启session  session_start();
2、清空session数组。
   unset($_SESSION);或将session中某个值删除掉。
3、销毁session文件。
     session_destroy();
4、删除客户端sessionID,注意,删除的时候setcookie的第四个参数必须使用/
setcookie('PHPSESSID','',time()-1,'/');
注意
session可以自动开启
session.auto_start=0 是否自动开启session
session和cookie的区别
1、cookie是直接将内容存储在客户端,然后第一次服务器端口给客户端让客户端存储。
2、session是将内容存储在服务器端,但是需要借助于cookie的机制来从客户端和服务器端传递session  id
3、cookie的默认路径为当前脚本的目录。
4、session的session id默认的路径为根目录。
5、cookie的有效时间可以自己设定
6、session的有效时间在默认情况下关闭浏览器就失效。
7、cookie的删除直接删除的是客户端的内容。
8、session的删除必须从几方面来进行删除:
1、客户端的session_id
2、服务器端的文件
3、必须得开启session机制才行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值