Postman的Cookie鉴权

本文介绍了Cookie的基本概念、鉴权原理,区分了会话Cookie和持久Cookie,展示了Postman在cookie管理中的便利,并提到了token鉴权方式。同时,讨论了HTTP无状态协议和Cookie/Session的区别及其参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期在复习Postman的基础知识,在小破站上跟着百里老师系统复习了一遍,也做了一些笔记,希望可以给大家一点点启发。

一)什么是Cookie

定义:存储在客户端的一小段文本信息,格式为键值对的形式.

二)Cookie的鉴权原理

1、当客户端第一次访问服务器的时候,服务器会生成Cookie信息,并且在响应头中将Cookie值返回给客户端(Set-Cookie头),客户端接收并存储Cookie值。

2、当客户端第2次访问服务器的时候,客户端就会在请求头中携带Cookie信息,从而实现鉴权。

实际项目举例;

1、请求登录接口,登录接口的响应头中返回Cookie

2、请求查看用户信息接口,请求头中携带Cookie

三)Cookie的分类

会话Cookie:保存在内存,当浏览器关闭之后会自动删除cookie

持久Cookie:保存在磁盘,当浏览器关闭之后不会清除,只有在失效时间到了之后才会清除

注意:Cookie的值是在服务端设置,在客户端存储,可以设置Cookie的失效时间

四)postman工具的cookie鉴权

Postman会自动完成cookie鉴权,无需手动完成。

获取cookie以后,postman发请求不用自己手动添加cookie,他会自动帮我们填写cookie在请求头上。

五)什么是token鉴权

token值 一般都是放在登录接口的响应数据体当中,需要提取出来;

在登录之后其他业务的请求当中,可能是在请求头当中带上token。也可能是在请求体当中带上token,看接口的开发如何定义;

token是通过加密、解密 进行认证;

目前用的比较多的是 token 鉴权方式 ;

如何确定接口是 cookie鉴权 还是 token鉴权 ,直接问开发即可。 不建议自己抓包分析 ;

六)Cookie和Session

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

客户端与服务器进行动态交互的Web应用程序出现之后,HTTP无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什么商品。于是,两种用于保持HTTP连接状态的技术就应运而生了,一个是Cookie,而另一个则是Session。HTTP本身是一个无状态的连接协议,为了支持客户端与服务器之间的交互,我们就需要通过不同的技术为交互存储状态,而这些不同的技术就是Cookie和Session。

七)Cookie 参数介绍

session ID:

Expires=<date>:可选, cookie 的最长有效时间,形式为符合 HTTP-date 规范的时间戳。参考 Date 可以获取详细信息。如果没有设置这个属性,那么表示这是一个会话期 cookie 。一个会话结束于客户端被关闭时,这意味着会话期 cookie 在彼时会被移除。然而,很多Web浏览器支持会话恢复功能,这个功能可以使浏览器保留所有的tab标签,然后在重新打开浏览器的时候将其还原。与此同时,cookie 也会恢复,就跟从来没有关闭浏览器一样。 北京时间=GMT时间+8小时。

Max-Age=<non-zero-digit>:可选,在 cookie 失效之前需要经过的秒数。秒数为 0 或 -1 将会使 cookie 直接过期。一些老的浏览器(ie6、ie7 和 ie8)不支持这个属性。对于其他浏览器来说,假如二者 (指 Expires 和Max-Age) 均存在,那么 Max-Age 优先级更高

今天的分享就到这里,下期见。

### 使用Postman进行API接口测试 #### 接口测试的灵魂考问 理解为何要对接口进行测试至关重要。通过接口测试可以验证服务器端和客户端之间的交互是否正常工作,确保应用程序各部分能按预期协同运作[^1]。 #### 设置环境变量与全局变量 为了使请求更灵活,在Postman中设置环境变量和全局变量是非常有用的。这允许动态更改URL或其他参数而无需手动修改每个单独的请求。创建新的环境并通过`Manage Environments`选项来管理这些变量[^2]。 #### 发送GET/POST请求并解析响应 对于简单的HTTP GET或POST方法,可以直接在Postman界面上输入目标URL,并选择相应的HTTP动词。点击Send按钮发送请求后,可以在下方查看到完整的响应体、状态码等信息。如果返回的是JSON格式的数据,则会自动被美化显示以便阅读。 #### 验证接口返回数据结构 当收到服务端传回的信息时,应该仔细核对其字段名及其对应的值是否符合预期。利用Tests标签页编写JavaScript脚本来断言特定条件成立与否;比如检查某个属性是否存在或者其数值范围是否合理等等。 ```javascript pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200); }); ``` #### 运行集合中的多个请求 一旦单个请求调试完毕之后,就可以考虑将其加入到Collections里面去形成一系列连续执行的任务流。借助Newman工具可以从命令行批量运行整个collection文件夹下的所有testsuite,从而提高效率。 ```bash newman run PostmanTestCollection.postman_collection.json -e Testing.postman_globals.json ``` #### Cookie处理 针对那些依赖于Cookies来进行身份认证的情况,可以通过Pre-request Script面板预先设定好必要的cookie项,然后再发起实际查询之前完成登录流程获取token之类的凭证资料[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值