史上最详细解释接口自动化测试中cookiesession和token的区别多测师

Posted xiaoshubass

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了史上最详细解释接口自动化测试中cookiesession和token的区别多测师相关的知识,希望对你有一定的参考价值。

做了这么多年测试,还是分不清什么是cookie,什么是session?很正常,很多软件测试工程师可能到现在都搞不清什么是session,cookie相对来说会简单很多。
下面这篇文章希望能够帮助大家分清楚这两个技术的区别和他们对应的使用场景。

一).cookie的特点:
cookie是一门客户端缓存技术
cookie数据由服务器生成,发送给浏览器保存
cookie数据的格式:键值对
cookie数据过期机制:设置expire值
cookie是一门客户端技术,一般是由服务器生成返回给浏览器客户端来保存的,并且cookie是以键值对的形式保存在浏览器客户端的,每一个cookie都会有名称,值,过期时间...。
cookie有很多使用场景,在项目中比较常见的有:
1.登录记住用户名
2.记录用户浏览记录
...

上面应用中大家最熟悉的应该就是记住用户名这个场景了,以京东网站的登录功能为例,当我们登录了一次京东,后面再去登录页面登录的时候,会发现它会帮你回填之前的用户名,这个场景就是通过cookie技术实现的。

1.打开火狐浏览器,访问京东登录页面输入登录账号,密码完成登录:

技术图片

 

 

 

2.在首页点击退出登录

技术图片

 

 

 

3.登录页面再次登录发现用户名输入框已经回填了之前的手机号:

技术图片

 

 

 

4.F12打开火狐浏览器找到保存手机号的这个cookie:"mp",值就是我们填写的用户名信息:

  总结:此实现过程:登录成功,将手机号写入到cookie---》回到登录页面再次登录时,根据mp这个cookie的名称取出手机号的值回填到用户名输入框(根据键取出值)

  拓展:cookie是有过期机制的,可以通过设置cookie的过期时间来控制cookie什么时候过期

  这个mp的过期时间为一个月,因此这一个月内只要不清除浏览器端的cookie数据,那么使用火狐浏览器来访问京东的登录页面都可以看到手机号回填的效果。

技术图片

 

 

 

二).session

session的特点:
session是一门服务端会话缓存技术。
session由服务器端的web容器创建,保存在服务器端。
session保存数据:键值对形式
session过期:默认30分钟
session是服务端的会话技术,当用户登录了系统,服务器端的web容器就会创建一个会话,此会话中可以保存登录用户的信息,并且也是以键值对的形式去保存的,现在大部分系统都是使用的session技术来做的鉴权(权限鉴定),即:当用户登录完了才可以访问系统中的一些页面和数据。

以下面的系统为例:
直接访问系统lmcanon的首页index.html无法访问成功,会被重定向到登录页面login.html,因为这个系统有做用户鉴权,没有登录的用户无法访问系统里面的数据。

技术图片

 

 技术图片

 

以上是关于史上最详细解释接口自动化测试中cookiesession和token的区别多测师的主要内容,如果未能解决你的问题,请参考以下文章

史上最详细的接口测试,一篇学会接口

史上最详细Postman教程

top-------------史上最详细解释

史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)

iOS 史上最详细的app测试或者上架AppStore流程

利用Python实现导弹自动追踪!室友面前的装逼利器!史上最详细!