session与cookie的差异有如下四个方面:
1.存放的位置
cookie保存在客户端,session一样平常保存在做事器真个文件系统或数据库或mamcache
2.安全性
由于session存放在做事器端,而客户端可以集中采取软、硬件技能担保安全性,以是cookie的安全性较session弱
3.网络传输量
cookie需通过网络实现客户端与做事器端之间的传输,而session保存在做事器端,无需传输
4.生存韶光(以设置24分钟为例)
(1)cookie的生命周期是累计的。从创建的时候就开始计时,24分钟后cookie生命周期结束,cookie自动失落效
(2)session的生命周期是间隔的,从创建时开始计时,比如在24分钟内(php.ini默认session的失落效韶光便是1440s,即24m)没有访问过session(指没有实行含session的文件),那么session信息就自动无效,但如果在24分钟之内,比如第23分钟访问过session,那么它的生命周期将重新开始打算。
【知识拓展】:session的垃圾回收机制gc
在php中,session的回收机制紧张依赖三个配置共同实现(在php.ini文件中),分别是:
session.gc_maxlifetime = 1440 设置php session的有效期
session.gc_probability = 1 设置gc回收机制的被除数
session.gc_divisor = 100 设置gc回收机制的除数
当某个用户操作session的时候,会利用到session_start(),这时候该函数可能会调用gc,其调用概率是session.gc_probability/session.gc_divisor。为什么不每次都调用垃圾回收机制呢?缘故原由是对付一个网站来说,如果有很多用户访问,回收概率就很大,这样频繁地回收会给做事器带来很大的开销。基本上,如果是大型网站,都建议将session.gc_probability/session.gc_divisor设置的足够小。