1.什么是cookie

由服务器端生成,发送给浏览器,浏览器会将Cookie的key/value保存到本地某个目录下的文本文件内,下次请求同一网站时自动发送该Cookie给服务器

Cookie可以用来在某个WEB站点会话间持久的保持状态

2.什么是session

Session是另一种记录客户状态的机制,基于Cookie实现,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上

客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,

这就是Session,

客户端浏览器再次访问时只需要从Session中查找该客户的状态就可以了

3.cookie和session的区别

Cookies是属于Session对象的一种。但有不同,Cookies不会占服务器资源,是存在客服端内存或者一个cookie的文本文件中;而“Session”则会占用服务器资源。Session过多时,会增加服务器压力

Session比Cookie更具有安全

使用cookie时不可以存入重要信息,以防信息泄露造成损失.

session 能够存储任意的 java 对象,cookie 只能存储 String 类型的对象

4.session共享问题

当服务器使用了负载均衡的时候,当多台服务器使用的都是同一套网站的代码,

用户请求网站时,请求会被分发到不同的服务器上

这种情况下,用户第一次请求时,

在A服务器生成了Sessionid,

但在B服务器和C服务器并没有生成Sessionid,

此时就会导致用户的登录状态出现问题,各服务器之间不能保持一致

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐