接口测试经典面试题:Session、cookie、token有什么区别?

本文详细介绍了HTTP协议无状态特性及其应对策略,包括Session、Cookie和Token的区别。通过Flask搭建的示例服务器,演示了它们在实际应用中的工作原理,重点阐述了Session的加密存储、Cookie的传输过程以及Token的无状态特性。
摘要由CSDN通过智能技术生成

HTTP是一个没有状态的协议,这种特点带来的好处就是效率较高,但是缺点也非常明显,这个协议本身是不支持网站的关联的,比如https://ceshiren.com/和https://ceshiren.com/t/topic/9737/7这两个网站,必须要使用别的方法将它们两个关联起来。那就是session 、cookie 、token。

> 霍格沃兹测试学院  TestingStudio

  • session 即会话,是一种持久网络协议,起到了在用户端和服务器端创建关联,从而交换数据包的作用。

  • cookie 是“小型文本文件”,是某些网站为了辨别用户身份,进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

  • token 在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用。

演示环境搭建

与 get、post 区别实战详解 章节相同,为了避免其他因素的干扰,使用 Flask 编写一个简单的 demo server(Flask 的安装与启动参考 get、post 区别实战详解 章节),来演示 cookie 与 session。

demo server 演示代码

from flask import Flask,session,Request, request,make_responseapp = Flask(__name__)request: Requestapp.secret_key = "key"@app.route('/')def hello_world():
    return 'Hello, World!'@app.route("/session")def session_handle():
    #读取请求
    for k, v in request.args.items():
    #收到请求后写入session
        session[k] = v
    #创建服务器响应,将session的内容打印出来
    resp = make_response({k: v for k, v in session.items()})
    for k, v in request.args.items():
    #给服务器设置cookie
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值