服务器认证、授权、鉴权、session、token
1、session(赛神)会话机制
-
session 会话机制会借助 cookie + session 一起来做认证
-
cookie 是放在浏览器中的,cookie 是存储在客服端,但是可以由服务端和客户端生成。
-
sesion 是保存在服务端的数据库中的,session 是服务端一块存储空间,只能由服务端生成。
-
session 是把 session id 也就是session 的 key 值,保存到 cookie 当中
-
这个 key 值 一般在访问其他页面的时候会放到 cookie 当中,向后端发起请求
-
当用户输入账号和密码登录后,服务端会返回用户的session id 把他放在cookie中这就是session机制认证
2、token(套肯)安全令牌机制
-
token 不依赖服务器资源
-
token 服务端生成的
-
往往会将 token 放在浏览器中,请求头中
-
当用户输入账号和密码后,后端将他的安全令牌作为相应数据返回给我,那就是 token 令牌机制
-
当用户输入账号和密码后,会返回一个 token ,绝大多数情况下会 通过前端的工程师放到请求头当中,然后再去发起请求
-
用的最多的是 jwt token 机制
-
浏览器接收到响应报文之后,会将 token 放在 local storage (本地存储空间)/ session storage
3、鉴权
是指验证用户是否拥有访问系统的权利---鉴定权限
4、为什么会有cookie、session、和token?
-
http是无状态协议
-
cookie 缓存
-
大部分存在浏览器中,是客户端的缓存
-
主要是 name 和 value 的存储
-
-
session 会话
-
存储在服务器当中
-
是浏览器 和 服务器 之间的验证
-
5、cookie 和 session 区别
-
cookie:客户端和服务端都能生成 cookie,存放在客户端。存放一些不敏感的数据,数据类型只能是字符串
-
session:服务端生成 的 session , 存放在服务端,可以存放任意数据,Java 中 session 中可以存放任意对象,session 必须依赖 cookie 实现
6、session 和 token 的区别
-
session
-
session 是服务器生成、存储、验证,以 cookie 的方式传给客户端,客户端以同样方式(cookie)发送给服务端
-
session 有状态
-
-
token
-
是加密字符串
-
服务器生成、验证,以 cookie 或者 请求头的方式传给客户端,客户端以同样方式(cookie)发送给服务端
-
token无状态
*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/ 谢谢!!*******