Session 工作原理

Session 工作原理

为什么要有session?

针对http协议的局限性,即http是一种无状态的协议
提出的一种保持客户端和服务器间保持会话连接状态的机制
从本质上讲session和cookie没有太大的区别。

session工作原理

session通过一个PHPSESSID的cookie和服务器联系。
session是通过sessionID判断客户端用户的。
PHPSESSID名字即是session的文件名。
session存在服务端器的文件中,其存在形式不仅仅是文本文件,还可以是cache或者数据库。
服务器要想识别客户端,所以客户端必须向服务端发送sessionID这个信息,其表现形式通常为HTTP
request传输,当然也可以url传输等。

设置session

1
2
3
4
5
#setsession.php 文件
<?php
session_start();
$_SESSION['name'] = 'value';
var_dump($_SESSION);

浏览器访问该文件

服务器端截图

  • sessionid 在浏览器端存储的值为 17hroo36ao9q1e2ah0i6c1h350
  • sessionid 在服务器端的文件名为 sess_17hroo36ao9q1e2ah0i6c1h350
  • 看得出来 浏览器Cookies中的PHPSESSION的值与服务器端存储名一致。

获取Session

1
2
3
4
#getsession.php 文件
<?php
session_start();
var_dump($_SESSION);

xpisme wechat
微信号