web---session和cookie的区别和联系

1. 区别

它们都是使用键值的方式来为客户端保存一些服务器的信息,区别在于:

cookie是将这些信息保存在浏览器端,服务器关闭cookie就会消亡,除非设有存活时间。session是将这些信息保存在服务器端,默认两次访问之间保存30分钟,时间段后session值也会消亡。

每个客户端为某一网站保存的cookie个数和大小是有限制的,个数一般是
30~50/domain,大小一般是4k/cookie左右; 而服务器的每个session保存的信
息理论上是无限的,仅受限于服务器的内存容量。不过可以想到服务器要同时
很多客户端请求,每个session虽然占用的内存不多,但多个客户累积起来就非
常可观了。所以session中不建议存储过多信息,可以选择将数据保存在数据库
或缓存当中。

安全性上来讲,因为cookie会随着每次请求传递,被截获的风险很大,另外
cookie因为是保存在客户端的,因此泄露的可能更高。

2. 联系

session 与客户端浏览器的对应关系通过cookie来实现: 当服务器为某一客户端首
次创建session时,会将一个 JSESSIONID=唯一值 的会话cookie返回给客户端浏览
器,当浏览器向此服务器发送接下来的请求时,会携带此 JSESSIONID=唯一值 的
cookie,服务器从而可以通过它找到此客户端对应的session。

猜你喜欢

转载自blog.csdn.net/qq_42689450/article/details/83098361