进阶篇面试常见问题
1. 什么是token?
参考回答:
1)定义:
token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。
2)使用场景:
实际应用中,客户端需要频繁向服务端请求数据,服务端需要去数据库查询用户名和密码,来验证对比用户名密码是否正确,这样对数据库就会造成很大的压力,由此就出现了token的应用场景,当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。
3)实现原理:
基于token的身份验证的过程如下:
- 客户端使用用户名跟密码请求登录;
- 服务端收到请求,去验证用户名与密码;
- 验证成功后,服务端会签发一个 token,再把这个 token 发送给客户端;
- 客户端收到 token 以后可以把它存储起来,并且每次向服务端请求资源的时候需要带着服务端签发的 token;
- 服务端收到请求,然后去验证客户端请求里面带着的token,如果验证成功,就向客户端返回请求的数据。
2. token与session、cookie有什么区别?
参考回答:
1)Cookie
Cookie由服务器生成,发送给浏览器,浏览器将Cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会带着该Cookie发送给服务器
2)Session:
服务器给每个客户端分配不同的“身份标识”,即Session,其保存在服务器上,用户离开网站后Session就会被销毁。
3)Token:
token相比cookie、session主要有如下优势,这也是它们之间的主要区别:
❶ 无状态、可扩展
token机制在服务端不需要存储session信息,因为token 自身包含了登录用户的信息,只需要在客户端的cookie
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
测试岗高薪必备-接口测试之代码实例21讲 文章被收录于专栏
<p> 本专刊共五章 21 篇正文及 5 个对应的 GitHub 项目,主要介绍了接口测试基础知识及测试用例设计方法,认证鉴权、加密验签,自动化测试,安全性测试,性能测试等内容,每一章节都有代码实例来剖析其原理,并提供了一个完整电商系统的代码,可以直接实操演练,让你知其然知其所以然,轻松搞定接口测试。加入专刊,你就加入了一大群志同道合的优质测试人圈子,同时还有和作者及作者的朋友们互动交流的机会。 本专刊购买后即可解锁所有章节,故不可以退换哦~ </p> <p> <br /> </p>