Session 原理

来源:互联网 发布:日本药妆品牌 知乎 编辑:程序博客网 时间:2024/05/20 06:51

为什么要有session?

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

session工作原理

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

实验:

设置session流程

#setsession.php 文件<?phpsession_start();$_SESSION['name'] = 'value';var_dump($_SESSION);

浏览器端截图

这里写图片描述
这里写图片描述

服务器端截图

这里写图片描述

仔细看一下:
1:sessionid 在浏览器端存储的值为 17hroo36ao9q1e2ah0i6c1h350
2:sessionid 在服务器端的文件名为 sess_17hroo36ao9q1e2ah0i6c1h350

获取session流程
这里写图片描述

参考资料:
php核心技术与实践
http://baike.baidu.com/link?url=V5uYPa2OExz8XWEdrHIkOgkkX6G4Tvl-caI5JOP7dGgroDO77REAvpkIQb7x31tAXZa0yoQTnXfJgKQxGgBVxa#1
http://shiflett.org/articles/the-truth-about-sessions

0 0
原创粉丝点击