当前位置:首页 > 后端开发 > 接口的鉴权cookie、session和token

接口的鉴权cookie、session和token

6个月前 (05-23)69

1、HTTP是无状态协议

什么是无状态?就是说这一次的请求和上一次的请求是没有任何关系的,无法共享信息。好处就是速度快。

2、cookie、session的加入

HTTP请求是无状态的,所以解决共享信息的问题必须采用其他的手段,于是就有了sessionid,sessionid是基于cookie实现的。服务器为每一个用户生成一个不一样的随机字符串,每次向服务器发起HTTP请求时,都会把这个字符串传给服务器,这样就能区分用户了。

3、session的缺点

对于客户端来说session是非常好的,只需要cookie中存一个字符串就好了,但对于服务器来说,必须存储所有在线用户的session,那么这就占用了很大的资源(cpu,内存),严重影响服务器的性能。这时可以选择去扩展服务器做集群,但是同时也出现了分布式session的问题,那么可以采用session粘滞或者session集中式管理(redis)来解决。

session原理图:

纯手工画图,不喜勿喷

接口的鉴权cookie、session和token _ Java侠

 

 

4、cookie、session的区别

cookie:客户端和服务端都能生成cookie,存放在客户端。存放一些不敏感的数据,数据类型只能是字符串(json).

session:服务端生成session,存放在服务端。可以存放任意数据,Java中session中可以存放任意对象,session必须依赖cookie实现。

5、token 票据的意思,就是门票、令牌

token也是一个字符串,用户输入用户名和密码之后,向服务器发起请求,服务器会生成一个token串,token串是由header+userid+时间戳,在经过一个加密的算法,生成一个token字符串。

token验证原理图:(偷的图,哈哈)

接口的鉴权cookie、session和token _ Java侠

 

 

session和token的区别:

session:服务器生成、存储、验证,以cookie的方式传给客户端,客户端以同样的方式发送给服务端。session有状态。

token:服务器生成、验证,以cookie或者请求头的形式传给客户端,客户端以同样的方式发送给服务器,token无状态。

 

作者:幸运球与倒霉蛋
来源链接:https://www.cnblogs.com/xingyunqiu/p/11512152.html

“接口的鉴权cookie、session和token” 的相关文章

PHP5中Cookie与 Session详解

1、Cookie和Session简介与区别 在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采...

Session、Cookie、Application、ViewState和Cache 这四者的区别

Session、Cookie、Application、ViewState和Cache 这四者的区别

ViewState是维护页面状态的 Application是维护Web应用程序状态的,整个Web应用程序(站点/虚拟目录)只有一个 Session是维护会话状态的,每个客户有一个...

关于cookie和session最全解释

关于cookie和session最全解释

                        &nb...

session 和 cookie 有什么区别

session 和 cookie 有什么区别 a、存储位置不同:session 存储在服务器端;cookie 存储在浏览器端。 b、安全性不同:cookie 安全...

token,session,以及cookie的联系和区别

token,session,以及cookie的联系和区别

  token就是令牌,比如你授权(登录)一个程序时,他就是个依据,判断你是否已经授权该软件;cookie就是写在客户端的一个txt文件,里面包括你登录信息之类的,...

jsp中cookie与session等自己总结精华

(1)  JSP中的九大内置对象 page  request session   application   pagecontext...

Java利用Cookie或Session实现登录验证

简单的登录验证可以通过Session或者Cookie实现,具体如下: 一、利用Session实现登录验证 1、自定义HandlerInterceptor p...

web核心(4)session与cookie及session跨域与session共享

1.cookie与session的关系 Session 信息都是放在内存的,第一次创建Session的时候,服务端会在 Cookie 里面记录一个Session ID,以JSESS...

cookie 与session的区别----面试简单回答

cookie  与  session   区别 存储位置 cookie 存在浏览器里面的 local storage 数据...

史上最详细的Cookie和Session 的区别详解

史上最详细的Cookie和Session 的区别详解

一、什么是Cookie? Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端...