ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[toc] ## :-: **会话原理** - 每点击一个连接,或打开一个网页就是一个会话。 - <span style="color:red;">http本身就是无状态</span>,网页和网页之间也没有关系。 - 只有一种情况下有关系,就是后台的网页,要先登录后才能进入,登录时一个网页,登录后是一个网页。 - <span style="color:red;">cookie和session机制</span>:会话保持的功能(记录会话),<span style="color:red;">为了解决http无状态这个问题 </span> ## :-: **cookie** **第一次请求:** cookie是服务器生成的一个字符串(PHP代码setcookie),客户端发送请求后,以键值对的形式,存储到浏览器(保存在发请求的浏览器文件里),可以是多个键值对,存储到一个cookie字段中,如下图 ![](https://box.kancloud.cn/88938b29af5a5443f936c1274c12b0e7_1036x134.png) **第2次请求:** - 请求头中会带上键值对,php判断有,就还是这一个用户(也就是登陆了)的 - 一个网页是一个会话。关闭浏览器是会话结束 ## :-: **session** ![](https://box.kancloud.cn/3a12f4896347de4b8720f81ed5364860_298x189.png) ![](https://box.kancloud.cn/6e97b5a26d8fbecec46070980dc9c3bb_300x193.png) - 开启session_start(); 干了下图的这俩件事情。(例子:下图第1步:先给一个条形码;下图第2步:在给一个柜子让你存东西); ![](https://box.kancloud.cn/103cd5093fed30b5a404025af2aeddbe_715x447.png) - 取session的话也是:以请求头部cookie中保存的value去服务器找对应的session文件(相当于柜子的编号也就是第1步中的value) ![](https://box.kancloud.cn/24c50a82e9899fae43d7ad63f491f120_737x412.png) ![](https://box.kancloud.cn/2528fa7029b05a72735e1abde1f0ba0d_752x220.png) ![](https://box.kancloud.cn/114dcdb3d1c010d8708c156274d9c565_748x477.png) ![](https://box.kancloud.cn/c3f091bf544fd7993e3bed61f0f1c35f_764x521.png)