cookiesessiontoken的区别

Posted yuer02

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookiesessiontoken的区别相关的知识,希望对你有一定的参考价值。

之前从码同学上学到的,在此做一下记录

一、HTTP协议

1、支持客户/服务器模式。

2、简单快速:客户向服务器请求服务时,只需要传送请求方法和路径,请求方法常用的有GET、POST、PUT、DELETE。每种方法规定了客户与服务器联系的类型不同。

3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Conetent-Type加以标记。

4、无连接:无连接的含义是限制每次练级只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间(HTTP1.1开始支持长连接,需要服务端配置对应的参数)

5、无状态:HTTP协议是无状态协议。无状态是指协议对事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量偏大。另一方面,在服务器不需要先前信息时它的应答就较快。

二、cookie

cookie是客户端保存数据的一种机制

1、会话cookie

保存在浏览器内存中,浏览器关闭后就消失了

2、持久化cookie

保存在本地磁盘上,一般会有一定的过期时间

例如chrome浏览器 

C:Program FilesGoogleChromeUser DataDefaultCache

技术图片

 

 三、session

session是服务端保存数据的一种机制,用户的一些关键信息会保存在session中

1、session保存在服务端内存中

2、每个用户对应一个独立的session,服务端会存储很多session

3、每个session都有自己的唯一id

4、session都有过期时间,如果一定时间内没有更新数据,就会消失

四、token

token是一种验证客户端身份的机制

1、客户端认证成功后,服务端返回token值,客户端需自己保存这个token

2、服务端将token单独存储

3、token一般都是加密的

4、特点:无状态、可扩展;跨程序、跨域调用;安全

技术图片

 

 五、cookie、session、token的区别

cookie是一种数据存储机制,可以存储任何数据,一般是以文件存储,不支持跨域

session是服务端的一个数据存储机制,可以存储任何数据,以内存存储,不支持跨域

token是一种认证机制,是一个经过加密之后的字符串,支持跨域

token也可以以cookie的形式存储在客户端

 

以上是关于cookiesessiontoken的区别的主要内容,如果未能解决你的问题,请参考以下文章

CookieSessionToken的区别

面试高频cookiesessiontoken?看完在也不担心被问了

权限认证基础:区分Authentication,Authorization以及CookieSessionToken

SpringSecurity CSRF引发的思考CookieSessionToken和JWT

CookieSession与Token的区别理解

会话控制