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