cookie与session区别有:1、对象不同;2、存储数据大小不同;3、生命周期不同;4、存储位置不同;5、数据类型不同;6、安全性不同。其中,定义不同是指cookie是针对每个网站的信息,每个网站只能对应一个,而session是针对每个用户的,只有客户端才能访问。
1、对象不同
cookie:是针对每个网站的信息,每个网站只能对应一个,其他网站无法访问,这个文件保存在客户端,每次您拨打相应网站,浏览器都会查找该网站的 cookies,如果有,则会将该文件发送出去。cookies文件的内容大致上包括了诸如用户名、密码、设置等信息。
session:是针对每个用户的,只有客户端才能访问,程序为该客户添加一个 session。session中主要保存用户的登录信息、操作信息等等。此 session将在用户访问结束后自动消失(如果也是超时)。
2、存储数据大小不同
cookie:一个 cookie存储的数据不超过3K。
session:session存储在服务器上可以任意存储数据。当 session存储数据太多时,服务器可选择进行清理。
3、生命周期不同
cookie:cookie的生命周期当浏览器关闭的时候就消亡了,cookie的生命周期是累计的,从创建时就开始计时,30min后cookie生命周期结束。
session:session的生命周期是间隔的,从创建时开始计时如在30min内没有访问session,那么session生命周期就被销毁。
4、存储位置不同
cookie:cookie数据保存在客户端。
session:session数据保存在服务器端。
5、数据类型不同
两者都是key-value结构,但针对value的类型是有差异的。
cookie:value只能是字符串类型。
session:value是object类型。
6、安全性不同
cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session。