接口测试关键字解析

    技术2025-05-28  14

    会话管理

    Cookie工作原理: 1、当浏览器访问服务器时,服务器会将少量数据发送给浏览器(使用set-cookie消息头); 2、浏览器会将这些数据临时保存下来;当浏览器再次访问服务器时,会将之前保存的数据发送给服务器(使用cookie消息头) Session工作原理: 1、浏览器第一次访问服务器时,服务器会创建一个session,每个session都有一个id号,服务器将id号以cookie的形式回送给浏览器(这些是服务器自动完成的)。 2、当浏览器未关闭前再次发请求访问服务器时,就会带着这个id号去访问服务器,这时候服务器检索下内存中有没有与之对应的session,有就用这个session为其服务。

    一、Cookie 1、浏览器的Cookies是保存在浏览器的某个位置上 2、服务器可以通过:响应头中的Set-Cookie参数,对客户端的Cookie进行管理 3、浏览器的每次请求,都会将该站点的Cookie信息发送给服务器 总结:接口测试Cookie信息获取方式:从响应的头信息中获取,response.headers返回的类型为字典类型,通过 response.headers[“Set-Cookie”]即可获得Cookie信息 总结:接口测试Cookie信息发送给服务器方式: 1、添加至请求头的方式:通过response.headers[“Set-Cookie”]得到Cookie信息,添加至请求头headers中, headers= { “Cookie”: “sessionid=xxxxxxxxxxxxxx”},接着通过requests.post(url,data,headers)发送请求,就会将Cookie信息发送给服务器 2、直接传值:通过response.cookies得到cookies对象RequestsCookieJar–>jar格式的,接着通过requests.post(url,data,cookies)发送请求,就会将Cookie信息发送给服务器 3、自定义Cookie信息:通过response.cookies[“sessionid”]得到sessionid的值,通过定义cookies字典,根据需求向其添加自定义Cookie信息,cookies = {“sessionid”:“xxxx”,“XXX”:“xxx”},接着通过requests.post(url,data,cookies)发送请求,就会将Cookie信息发送给服务器,最后可以通过response.request.headers查看自定义的Cookie信息 二、SessionId 1、session是一个对象,是服务器产生的,保存在服务器内存中 2、session有自己的管理的机制,包括session的创建、销毁及超时等设置 3、SessionId是session对象的一个属性,是全局唯一的 三、Token–令牌 1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。 基于服务器频繁验证暴露的一些问题 1.1 Seesion:客户端每次发起认证用户请求时,服务器都需要创建一个session来存储信息。当越来越多的用户发请求时,内存的开销就会不断增大,从而增大服务器的压力,影响性能。 1.2 可扩展性:在服务端的内存中使用Seesion存储登录信息,伴随而来的是可扩展性问题。 1.3 CORS(跨域资源共享):当我们需要让数据跨多终端设备上使用时,跨域资源的共享会是一个让人头疼的问题。在使用Ajax抓取另一个域的资源,就可以会出现禁止请求的情况。 1.4 CSRF(跨站请求伪造):用户在访问银行网站时,他们很容易受到跨站请求伪造的攻击,并且能够被利用其访问其他的网站。 2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。 3、使用Token的目的:为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

    Processed: 0.009, SQL: 9