近期在复习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 优先级更高。
今天的分享就到这里,下期见。