区别:
1.存储位置不同
cookie存放的客户端,session存放在服务器端(可以是文件、内存、数据库)
2.安全性
因为session存放在服务器端,而且session文件过期后会有垃圾回收机制及时清除,session的安全性相对cookie来说较高
cookie存放在客户端,通过http报文与服务器通信,安全性较低,一般不存放重要信息
3.对网络传输量的影响不同
cookie通过网络在客户端与服务器端传输,而session存放在服务器端,需要传输的仅仅有一个session_id,因此cookie相对session而言,会占用更多的带宽
4.过期时间的计算方式不同(以10分钟为例)
cookie有效期在创建时开始计时,10分钟后过期,cookie失效。
session的有效期是发呆时间,十分钟之内对服务器发请求,session的有效期就会重新计算
5.存放的数据类型不同
PHP操作cookie只能存放字符串数据类型
session可以存放任何数据类型,存放时会先对数据序列化,然后存储
以上是个人见解,如果有不正确的地方,欢迎指正!