Session和Cookie

session 和 cookie的区别

存放位置:session 保存在服务器,cookie 保存在客户端;
存放的形式:session 是以对象的形式保存在服务器,cookie 以字符串的形式保存在客户端;
用途:session 适合做客户的身份验证,cookie 适合保存用户的个人设置,爱好等;
路径:session 不能区分路径,同一用户在访问一个网站期间,所有的 session 在任何一个地方都可以访问到;cookie 中如果设置了参数路径,那么同一个网站下的 cookie 互相访问不到;
安全性:cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,session 较 cookie 更安全一些;
大小及数量限制:单个 cookie 在客户端的限制是 3K,就是说一个站点在客户端存放的 COOKIE 不能 3K。不同浏览器所含 cookie 的最大个数不同,一般 30 到 50 个;一般认为 session 没有大小限制。

session 和 cookie的联系

session 需要借助 cookie 才能正常工作,如果客户端完全禁止 cookie,session 将失效,因为 session 是由应用服务器维持的一个服务端的存储空间,用户在连接服务器时,会由服务器生成唯一的 sesssion id,用该 session id 为标识来存取服务端的 session 空间。而 session id 存储在 cookie 中,用户提交页面时会将这个 session id 提交到服务端,来存取 session 数据.这一过程是不用开发人员干预的,所以一旦客户端禁用 cookie,那么 session 也会失效。
另外:

session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用 COOKIE;
Sessionid 是服务器和客户端链接时候随机分配的。

你可能感兴趣的:(Session和Cookie)