
讲师:刘老师
本期语音讲解

各位测试界小伙伴们
大家好,我是慧测的刘老师,
欢迎大家参加慧测的2019年系列微课程活动。
本套课程主要分为两部分内容:
《每期一道名企面试题分析》
《每期5分钟测试开发小课堂》
目的是让大家利用好碎片化时间,每天积累一点技术。
今天是我们《每期一道名企面试题分析》微课程的第2期内容。
在这门系列课程的每一期,
我都会带领大家分析一道近期一线互联网公司测试开发笔、面试题。
让大家了解企业对技术的考察点,也帮助大家每期积累一个知识点。
本期要分析的是一道 接口测试 相关的面试题。
有请题目登场:
请列举出你所知道的Http(s)接口的身份认证方式,并大致说明一下各自的优缺点。
面试官视角分析:
这道题目的在于考察你对接口测试的熟悉程度,
但是并没有挑选比较常规的知识点。比如get/post请求的区别,
如何添加断言等等。
挑选了一个看似不常用实际很重要的知识点:Http身份认证方式。
解题分析:
0. 首先我们要弄清楚普通的Http协议为什么要加入身份认证呢?
因为Http协议是无状态性的,你的每一次请求都是相对独立的,
服务器需要知道你的用户身份再决定你可以访问什么样的资源。
1. 基本认证 HTTP Basic Authentication
这种方式最简单,当请求某个资源时,服务器返回401。再次请求参数中需要携带用户名和密码,准确来说是用户名和密码组合后经过base64转码的一个字符串。优点是简单,缺点也很明显:base64很容易解码,就代表请求被截取后用户名密码就会泄露。对于服务端来说,每次都需要验证用户名和密码很不方便。
2. 单独的APIKey认证
这种方式可以说是方法1的延伸。既然用户名和密码比较麻烦,那么请求时就在头信息中存储一个用户密钥用于验证身份,服务端有单独的区域存储密钥。缺点是当请求被截获后,密钥也会被盗用。而且长时间使用同一密钥更加的不安全。因为单一的密钥不安全,很多开发人员就在头信息(大部分是在Cookie中)添加多个字段,比如sessionid、uid、token。服务端通过验证多个参数,确定用户身份,如果session设置了一段时间后失效的机制,安全性就有了基本保障。
关于后面两种认证方式,我们在下一期继续讲解。
如果你觉得我们的微课程还不错,希望你能分享到朋友圈让更多的测试小伙伴看到。
- END -

接口自动化测试2期
3月10日(周日)正式开班!
性能测试28期
3月23日(周六)正式开班!
测试开发五期
3月23日(周六)正式开班!
自动化测试16期
3月23日(周六)正式开班!
欢迎加入我们:
慧测官网:www.huicewang.com
慧测Python群:324015481
公开课服务群:623636110
咨询QQ:2657535456
咨询微信号:huice66

慧测腾讯课堂 课程地址:



