一、背景

  什么是前后端分离?

  指的是后端应用程序和前端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是会话参数。

http://localhost:8484/add?sid=HFDET5888

 

四、客户端保存会话信息的位置

  1、浏览器默认保存Cookie

  2、用localStorage全局对象或者sessionStorage会话对象保存在浏览器

  3、用SQL语句保存在浏览器数据库里。

 

 

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐