Cookie|Session|Token都是什么?
请求: 请求行 请求头
-
Content-Type:请求的报文形式
-
Accept:客户端接受的数据类型
-
User-Agent:发送请求的客户端类型
-
X-Requested-with:Ajax请求,异步请求
-
响应: 响应行 响应头
-
Set-Cookie:服务器返回给客户端的Cookie信息 空一行 响应正文
Cookie
一、什么是cookie
cookie是服务器产生的,并且保存在客户端的一小段文本信息,键值对:key=value。 cookie有两类: 会话级cookie: 保存在内存,当浏览器关闭时会自动失效 持久化cookie: 保存在硬盘,只有失效时间到了才会消失
二、如何查看cookie
Ctrl + Shift + i
name:名称
value:值
Domain:作用的主机地址
path:作用的路径
Expries:生命的周期
Size:大小

三、cookie如何鉴权
只要多个请求之间有相同的cookie,必然存在cookie鉴权
鉴权步骤:
-
客户端第一次访问服务器,服务器就会生成cookie,然后通过响应头里面的Set-cookie传输到客户端,然后保存。
-
客户端第2~n次访问服务器时,那么在请求头里面都会通过cookie把我们保存在本地的cookie信息传输到服务器以实现鉴权。
四、测试作用
-
Postman:自动保存和发送cookie。
-
Jmeter:对于web项目的接口有一个必用的组件:HTTP Cookie管理器。
cookie缺点:不安全,一般cookie保存的是一些不重要的数据。
Session
一、Session如何鉴权
鉴权步骤:
-
客户端第一次登录访问服务器,服务器就会生成session,一般用sessionid表示,session保存在服务器,然后通过响应头里面的Set-cookie传输到客户端。所有的sessionid全部是会话级cookie。
-
客户端第2~n次访问服务器时,那么在请求头里面都会通过cookie把我们保存在本地的sessionid信息传输到服务器以实现鉴权。
-
session可以自动关联cookie
session缺点:session保存在服务器,占用服务器的内存。
Token
token:鉴权码
一、Token如何鉴权
第一步:一般是登录之后自动生成token,或者是通过一个独立的接口生成token,然后保存在服务器的硬盘或者数据库里面。
第二步:后面所有的请求都必须在请求头里面或者是在请求参数里面带上token实现鉴权。
token一般都是经过加密(对称加密:DES、AES,双钥加密:RSA,只加密不解密:MD5、SHA,自定义的加密方式:混合加密),并且有生命周期。
-
access_token:生命周期在15分钟-2小时之间。
-
refresh_token:生命周期是15天。
-
Cookie、Session、Token异同?
相同点:都是用于鉴权,都是服务器生成。
不同点:
cookie保存在客户端,session保存在服务器的内存,token保存在服务器的硬盘。
cookie一般会保存一些不重要的信息,session一般保存登录等重要的信息,token只用于鉴权。
超大型项目或者金融项目

浙公网安备 33010602011771号