跳转至

身份认证与会话管理

约 718 个字 预计阅读时间 2 分钟

HTTP

  • 简单易用: HTTP是一种简单、通用的协议,易于实现和使用。
  • 广泛支持: 几乎所有的客户端和服务器都支持HTTP连接。
  • 无状态: HTTP协议本身是无状态的,每个请求都是独立的,服务器无法在请求之间保持状态。

Session

  • 安全性高: Session数据存储在服务器端,相对于客户端存储的方式更加安全,减少了被窃取的风险。
  • 服务器资源消耗: 每个会话都需要在服务器端占用资源,当会话数量增多时,可能会增加服务器的负载。
  • 跨域问题: Session通常是与特定的域名相关联的,跨域访问可能会导致会话丢失或无法正常工作。

JWT验证

  • 无状态: JWT验证是无状态的,服务器不需要在本地存储会话信息,从而降低了服务器的负载。
  • 跨域支持: JWT令牌可以在跨域场景下安全地传输,适用于分布式系统和微服务架构。
  • 安全性高: JWT使用数字签名或加密技术来保护数据的完整性和安全性,防止数据被篡改或伪造。
  • 令牌过期: JWT令牌通常具有过期时间,一旦过期就需要重新生成令牌,可能会导致用户体验下降。

总结

Note

cookie的身份认证:服务器获取请求中的用户名和密码,判断和数据库的数据是否一致,如果数据一致,就回写用户名和密码的cookie到浏览器,跳转到主页。如果数据不一致就响应用户或密码错误。cookie的保持登录状态:浏览器请求其他网页时,服务器判断是否有cookie数据,如果有就证明用户是在线的,去拿数据库数据显示到页面。如果没有,那么证明用户不在线,需要重新登陆。

session的身份认证:获取用户数据和数据库数据判断,如果数据相同就开辟sessoon,并将数据存入session域,回写sessionID,跳转到主页。如果不相同,就响应用户和密码错误。session的保持登陆状态:浏览器访问其他页面,判断sessionID是否一致,如果id一致就证明用户是在线的,去获取session域里的数据再去拿数据库数据,将数据显示到页面上。如果id不一致,用户并不在线,需要重新登录。

JWT 用户登录后,服务器对用户凭证加密生成jwt token返回,前端用cookie或storage装,每次请求就携带这个token。token只需要客户端存储,请求后服务器解密拿数据。

颜色主题调整

评论区~

有用的话请给我个赞和 star => GitHub stars
快来跟我聊天~