java面试题网

普通会员

96

帖子

7

回复

176

积分

楼主
发表于 2018-03-29 10:20:53 | 查看: 1004| 回复: 1

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。


分布式环境下的session(举例两种):


服务器session复制

原理:任何一个服务器上的session发生改变(增删改),该节点会把这个 session的所有内容序列化,然后广播给所有其它节点,不管其他服务器需不需要session,以此来保证Session同步。

优点:可容错,各个服务器间session能够实时响应。

缺点:会对网络负荷造成一定压力,如果session量大的话可能会造成网络堵塞,拖慢服务器性能。


session共享机制

使用分布式缓存方案比如memcached、redis,但是要求Memcached或Redis必须是集群。



普通会员

216

帖子

75

回复

160

积分
沙发
发表于 2019-05-05 16:04:20
session与cookie的区别

存储角度:

Session是服务器端的数据存储技术,cookie是客户端的数据存储技术

解决问题角度:

Session解决的是一个用户不同请求的数据共享问题,cookie解决的是不同请求的请求数据的共享问题

生命周期角度:

Session的id是依赖于cookie来进行存储的,浏览器关闭id就会失效

Cookie可以单独的设置其在浏览器的存储时间。

您需要登录后才可以回帖 登录 | 立即注册

java面试题网无聊看看网与java建站系统提供技术支持V2.1 网站地图 © 2016-2018