接口测试相关知识(四) HTTP会话流程以及认证体系

1、HTTP是无状态的协议

http是一个无状态的协议,但是互联网产品的发展,需要记住用户的操作行为习惯  

1.1HTTP的缺陷,以及HTTPS的特性

HTTP的协议它是存在缺陷的,这些缺陷主要为:

1、通信内容是明文,内容很可能被第三方获取到

2、不验证通信方的身份信息,容易被伪装

3、无法证明请求头的完整性

基于HTTP存在这些缺陷,也就有了HTTPS的协议,我们可以把HTTPS可以汇总为:
HTTPS=HTTP+加密+认证+完整性保护。

 

基于这样一层的设计,相对来书还是比较安全的,HTTPS不是全新的协议,它知识在HTTP的协议基础上新增SLL和TLS。在前面我们知道HTTP是和TCP直接通信。那么在HTTPS中,HTTP先和SSL通信,SSL再和TCP来进行通信。

1.2cookie

cookie:主要是存储用户操作行为的数据,在早期的互联网产品中,用户登录系统的凭证都是由cookie来进行记录的,但是由于是存储在客户端的(本机的电脑),所以是不安全的,基本目前登录认证的凭证不会再使用cookie的技术了

1.3session

由于cookie是存储在客户端的,它不安全,所以session是把登录成功后的数据存储在服务端

1.3.1session流程

接口测试相关知识(四) HTTP会话流程以及认证体系

 

 

 

由图片可知 session流程为

1、客户端输入账户和密码,点击登录

2、登录成功后,会在服务器把用户登录成功后的信息生成一个sessionid的凭证,并且储存在服务端

3、然后服务端通过响应头中的set-cookie把生成的sessionid返回给客户端

4、客户端查看个人主页时,客户端会通过请求头中的cookie,把set-cookie返回的sessionid带上,发送给服务器

5、服务端接受到客户端发送的sessionid,和存储在服务端的sessionid做一个对比

6、如果对比一致,用户可以继续访问系统的任何功能,如果不一致,则立刻跳转到登录的页面

 

1.4token

本质上是session的原理,我们可以把它理解为一个令牌,每次登录成功后,返回的token都是随机的字符串 jwt的技术来实现

1.4.1token流程

接口测试相关知识(四) HTTP会话流程以及认证体系

 

 


1、客户端输入账户和密码,点击登录
2、登录成功后,会在服务端把用户登录成功后的信息生成一个Token的凭证,同时了存储在服务端
3、服务端会通过响应数据或者是响应头中的set-cookie返回给客户端
4、那么客户端再次向服务端发送请求,会在请求参数或者请求头中的Authuration中带上返回来的token发送给服务端
5、服务端接收到客户端发送的Token,和存储在服务端的Token作一个对比
6、如果对比一致,用户可以继续访问系统的任何功能,如果对不一致,立刻跳转到登录的页面

2、HTTP的认证系统

HTTP认证体系 HTTP/1.1版本中,使用的认证方式具体为: 

BASIC认证,也就是基本认证DIGEST认证,也就是摘要认证SSL客户端认证 FormBase认证,也就是基于表单认证

 

2.1BASIC

基本认证采用Base-64编码方式,但是不是加密的处理方式。不需要附加任何信息可对其进行解码,那么在HTTP等 非加密通信的线路上进行BSCIC认证的过程中,很容易被人进行获取信息,安全体系不够高。

接口测试相关知识(四) HTTP会话流程以及认证体系

 

 接口测试相关知识(四) HTTP会话流程以及认证体系

 

 

 

 

2.2DIGEST

DIGEST的认证体系是为了解决BASIC的缺陷之一的,它也是采用质询/响应的模式,但是不会直接发送明文密码。 所谓质询/响应模式指的是一开始一方先发送认证要求给另外一方,接着使用从另一方那接收到的质询码计算生成 响应码,最后将响应码返回给对方进行认证的方式。

 

上一篇:caffe编译过程中的错误: nvcc fatal : Unsupported gpu architecture 'compute_20'


下一篇:jquery的2.0.3版本源码系列(1)总体结构