Cookie和Session的区别
cookie和session都是会话语言,是为了解决http无状态的问题而产生的
cookie是存在浏览器端(客户端)的,而session是存在服务器端的,但是他们两个的最终存储方式都是文本
cookie存储有大小限制,根据每个浏览器的不同而异,一般是4KB,最大上限一般是200个,单个页面的cookie一般不超过20个,而session远远大于这个值
cookie的数据类型只有string(字符串)。而session的数据类型可以允许四种标量(string{字符串},number{数字},浮点{float},布尔{boolean})和两种混合(array{数组},object{对象}—>跨页面调用时,必须引入生成这个对象的类class,也就是require_once)
seesion相对比cookie来说更安全
cookie的增加,通过对cookie的七个参数(下标,值,有效时间,有效路径,有效域名,是否安全,是否跨域),而session在使用前,需要先加上session_start()
cookie会在有效时间完了或者没有设置有效时间关闭浏览器后失效,而session有个垃圾回收机制(当关闭浏览器后,所有的session文件会被认定为垃圾文件,每24分钟有千分之一的几率会被删除{这是默认},可以在php_ini配置进行修改)
session只是在一定程度上依赖于cookie,session在存储以后,都会在cookie里面生成一个对应的session_id,session_id会和session文件同名,当cookie被完全禁用后,session还是可以使用的,通过url把对应的session_id传给后端
特别感谢
参考博客地址:COOKIE/SESSION 详解
本作品采用《CC 协议》,转载必须注明作者和本文链接