Web
什么是会话技术?
- 会话 :用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应
- 会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话的多次请求间共享数据。
会话跟踪方案:
- 客户端会话跟踪技术:Cookie
- 服务端会话跟踪技术:Session
- 令牌技术
会话跟踪方案对比
Cookie:
- 服务端设置cookie后会自动将cookie返回给浏览器(在响应头添加Set-cookie)
- 浏览器接受到响应的数据后自动将cookie存储在浏览器本地
- 后续请求浏览器会自动将cookie携带到服务器端(请求头添加Cookie)
优点:HTTP协议中支持的技术
缺点:移动端APP无法使用Cookie,不安全,用户可以自己禁用cookie,cookie不能跨域
Session:
- 浏览器第一次发送请求,服务器端会自动创建一个session对象,每个session都有一个Id之后通过Set-cookie:JSESSIONID=sessionid响应给客户端,后续请求浏览器会自动将cookie携带到服务器端,数据存储在服务器端。
优点:数据存储在服务器端,安全
缺点: 集群环境下无法直接使用session,cookie的缺点
令牌技术:
优点:支持PC端,移动端,解决集群环境下认证问题,减轻服务器端存储压力
缺点:需要自己实现,无法及时撤销令牌,令牌体积较大