session:就是识别身份,解决用户身份(角色)问题
身份分两种:
1 有账号密码的那种身份
2 身份来源,例如客户机A与客户机B的请求就是两种身份
一个会话包括上下文信息:分两种信息
1 发送请求的这个用户自己的信息
2 服务器信息
cookie与session的关系
1 cookie记录在客户端,记录在浏览器
2 cookie是浏览器生成的,cookie脱离了浏览器就没有价值了
3 cookie是记录用户访问浏览器的必要信息,只要是http会话都会有cookie
4 cookie也是能做会话的,那为什么还要用session:为了安全
5 cookie很容易被篡改,大网站的cookie会经过加密
6 用cookie记录一个唯一键,这个唯一键是与远程服务器一致的,很多用户信息存在这个唯一键里,这个唯一键就是session
7 cookie的生命周期比session长,session的创建是基于cookie的,如果浏览器不设置cookie那么session是不生效的
8 如果做负载均衡那么多服务器的session是否一致?
用户访问的是服务器A,服务器给用户返回信息(包括唯一键信息),用户带着唯一键做下一个业务,请求到服务器,这个时候提示用户重新登录,其实就是访问到了第二台服务器B
出现这个问题的原因就是负载均衡多台服务器的时候,session不统一、不同步;就是session是存在于本地内存(服务器机器的本地,例如:内存、磁盘)的,服务器