session学习

1.很久之前,Web基本上为文档的浏览,作为服务器,不需要记录谁在某一段时间内浏览了什么文档,每次请求都是一个新的HTTP协议,就是请求加响应;
2.随着交互式web应用的兴起,像在线购物网站等,面临一个问题,就是会话管理,必须记住哪些用户已登录系统,哪些用户在自己的购物车里放商品,也就是要把每个人区分开,因为HTTP请求是无状态的,所以想出来的方法是给每个用户发一个会话标识(session id),本质上就是一个随机字符串,每个用户都不一样,这样每次用户发请求的时候,把这个字符串给带上,这样服务器就能区分用户了;
3.但是随之而来的是,服务器需要保存所有用户的session id,这对于服务器来说,是很大的开销;
4.而且严重限制了服务器的扩展能力,如果使用两个机器组成一个集群,用户通过A机器登录系统,session id存在A机器上,下次请求如果转发到B机器上,但是B机器上没有用户的session id;
5.虽然可以使用session sticky,让同一个用户的请求都粘连在A机器上,但是如果A机器挂了,还得转到B机器上;
6.因此只能做session的复制,把session id在两个机器上复制;

你可能感兴趣的:(1024程序员节)