仿牛客项目Day4:会话管理

会话管理

基础知识

cookie

http是简单的、可扩展的、无状态的、有会话的

在同一个连接中,两个执行成功的请求之间是没有关系的,用户没有办法在同一个网页里面做连续的交互。http cookies可以创建有状态的会话

本质就是让服务器记住浏览器

HTTP COOKIE就是服务器发送到用户浏览器就保存在本地的一小块数据,他会在下一次浏览器向服务器请求时被携带发送到服务器上

controller

 @CookieValue注解意思是拿到key为“code”的cookie

 cookie存储在浏览器里,不安全,不能存放隐私的东西

session

服务端记录客户端的session,session是依赖于cookie的

 分布式部署使用session的问题

第一次请求,nginx代理传入服务器1,生成一个session

第二次请求,nginx代理传入服务器3,识别不了第一次产生的session

解决策略:

  1. 粘性session,统一ip始终访问同一个服务器,但是不能满足负载均衡
  2. 同步session,一个服务器产生session后同步给其他的服务器,但是会产生耦合
  3. 共享session,单体服务器容易挂

 主流解决方式:

生成验证码

kaptcha

编写kaptcha配置类

生成随机字符随机图片

LoginController

login.html

现在刷新验证码不能点,写一段js

把context-path写到全局js里面,防止以后项目名称变化

 

这段js就是把id为kaptcha的这个标签的src改成path

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-12 00:30:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-12 00:30:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-12 00:30:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-12 00:30:01       20 阅读

热门阅读

  1. 复习C++

    2024-03-12 00:30:01       22 阅读
  2. SQL 函数

    2024-03-12 00:30:01       21 阅读
  3. Git - Protocol

    2024-03-12 00:30:01       21 阅读
  4. Linux基础命令

    2024-03-12 00:30:01       21 阅读
  5. 【C#语言入门】16. 委托详解

    2024-03-12 00:30:01       19 阅读
  6. 【IVA】加速计算中常用的硬件

    2024-03-12 00:30:01       16 阅读