一、背景
什么是前后端分离?
指的是后端应用程序和前端HTML代码不在同一个服务器程序中。
传统不分离的架构:JavaWeb程序用Tomcat部署,后端程序和HTML资源都在Tomcat的webapps目录里。
二、前后端分离的会话保存位置
1、第一种,保存在Session对象中
适合单个服务器部署的情况。
2、第二种,保存在第三方的Redis缓冲中
适合多台服务器的集群部署。
但是只提供一台Redis缓冲服务器。
三、会话信息的传递头部
(一)服务器返回
1、在Set-Cookie头部中返回
2、在登录成功后,用响应体返回
用一个JSON字符串设置在响应体返回,例如:
{"user":"user01", "sid":"KUGFHH56616987"}
(二)客户端请求携带会话
1、在Cookie头部传递
2、在Authentication头部传递
3、自定义头部传递
例如:
SessionID: HGFDYI5566169887
4、用url参数或者请求体传递
假设sid是会话参数。
四、客户端保存会话信息的位置
1、浏览器默认保存Cookie
2、用localStorage全局对象或者sessionStorage会话对象保存在浏览器
3、用SQL语句保存在浏览器数据库里。