Session与Cookie的区别与联系

2018-06-22 05:31:59来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

描述两个事情的不同,一般先从概念入手,然后分析他们是怎么生成、怎么使用以及怎么消亡的:

 

1、Cookie仅由客户端生成、管理并使用,PHP只是发出指令要求客户端如何生成Cookie、何时过期等,但是客户端不一定会按照PHP的指令办事。

 

2、如果没有设置Cookie过期时间,Cookie会一直以文件或SQLit等DB形式存在客户端磁盘。

 

3、Session是用户进入某个网站到关闭浏览器这段时间的会话,默认以文件形式存在服务器磁盘,所以设置过多的Session会影响磁盘IO,也可以用Memory引擎存入MySQL,因为内存引擎读写速度快,现在也可以指定用Redis来处理Session,这样更快,效率更高。

 

4、Session的收回机制是被动的,如果设置了生存周期,一般来说,一旦关闭浏览器Session也就被PHP自动回收了,但有时即使设置了过期时间并且关闭浏览器并不一定会删除Session,比如设置多目录多层级保存Session时,这时需要通过PHP脚本手动删除Session。

 

5、通常Cookie与Session是绑定的,即用户在没有禁用Cookie时,Cookie一般会保存sessionID及Session生存周期,如果用户删除Cookie一般会退出系统;如果没有禁用Cookie关闭浏览器Session也会立即失效,要重新登录系统。

 

6、Cookie与Session一般应于标识用户、权限认证、存储简单数据、还有就是利用P3P实现Cookie跨域单点登录(SSO:Single Sign On)。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:thinkphp5+qrcode生成二维码

下一篇:PHP制作API接口