深圳罗湖商城网站建设,高端企业网站定制公司,注册公司要哪些条件费用,上国外网站的dns基于分布式系统、同公司内、同一个 redis 作为存储#xff0c;这个是目前主要的用法#xff0c;去找开源框架都是这个逻辑#xff1b;对外开放等使用参考 OAuth 2.0
能够标识出用户是谁#xff0c;安全性相对高一些#xff0c;就是好的方案。
Cookie
Set 和 Get#x…基于分布式系统、同公司内、同一个 redis 作为存储这个是目前主要的用法去找开源框架都是这个逻辑对外开放等使用参考 OAuth 2.0
能够标识出用户是谁安全性相对高一些就是好的方案。
Cookie
Set 和 Get
服务端控制 Set 服务器可以通过 HTTP 响应头中的 Set-Cookie 字段来设置 Cookie。如果浏览器没有找到相应的 Cookie服务器通常会设置一个默认的 Cookie。——通过服务端渲染返回给前端的代码也可以拼接上前端主动setCookie也行浏览器处理 浏览器接收到 Set-Cookie 后会自动存储和管理这些 Cookie。当浏览器再次向同一服务器发送请求时它会自动将所有相关 Cookie 附加到请求头中。
Session
会话 ID
服务器为每个用户创建一个唯一的会话 ID并将其存储在服务器端如redis、Db等。会话 ID 通常会被包装在一个名为 sessionid 的 Cookie 中这样浏览器在每次请求时都会自动携带这个 ID。服务器通过会话 ID 来识别用户并获取与该用户相关的会话数据。
JWTJSON Web Token
用户信息加密字符串
JWT 是一种用于在网络应用间传递声明的开放标准RFC 7519。它由三部分组成头部Header、载荷Payload和签名Signature。JWT 的载荷部分可以包含用户的身份信息和其他相关数据。这些数据在服务器端进行加密处理后生成 JWT 字符串。由于 JWT 是自包含的因此可以减少对数据库的查询。但是JWT 不易于实现下线处理因为一旦签发它将在其过期时间之前一直有效。为了解决这个问题通常会在服务器端如 Redis存储一份 JWT 的副本并设置相应的过期时间。当需要强制用户下线时只需删除 Redis 中的对应记录即可。
Token跟 SessionId 差不多
服务端生成和 Redis 存储
Token 是一种用于身份验证的字符串通常由服务器生成并返回给客户端。与 JWT 不同Token 可以是任何格式和长度的字符串只要它能够唯一标识用户即可。为了提高安全性和可扩展性可以将 Token 存储在 Redis 等内存数据库中。这样当用户登录或刷新 Token 时服务器只需更新 Redis 中的记录即可。在请求处理过程中服务器可以通过检查 Redis 中是否存在对应的 Token 来验证用户的身份。同时Redis 的高性能和分布式特性也使得 Token 验证过程更加高效和可靠。
总结
Session 和 Cookie 在分布式环境下的处理 传统的单体应用中session 数据通常存储在服务器端。但在分布式系统中为了支持水平扩展和数据共享可以将 session 数据存储在像 Redis 这样的集中式存储中。 JWT 与 Redis 的结合使用 JWTJSON Web Tokens本身包含所有认证信息不需要服务器查询数据库验证但其过期管理和注销机制较弱。为了解决这些问题通常在 Redis 中货数据存储 JWT 的黑名单来管理过期时间和下线操作。——这就很没意思快和token一个月i死了 Token 的管理和免登录功能 Token后端一般存储在 Redis 中进行统一管理。对于需要实现长时间免登录的功能可以通过设置一个长期有效的 cookie例如30天有效期token 脱离了 cookie 的安全校验跨域更加方便
jwt web 场景下意义就不是很大了选择用 token 有些情况下也是会和 cookie 一起搭配使用了