首页 > 其他分享 >接口测试(4)--会话管理

接口测试(4)--会话管理

时间:2023-07-24 09:00:10浏览次数:39  
标签:-- 接口 会话 session cookie 服务器 Cookie 客户端

会话的概念

由于HTTP协议无状态的特点,所以客户端和服务器都不会保存客户端请求的相关信息。

所以服务器无法知道客户端的请求状态是不是已登录的状态,

为了解决这个问题,我们需要通过一个字符串表示用户的未登录/已登陆的状态。然后控制用户对资源的访问。

在现在的Web项目中,管理用户会话主要有3种实现方式:

基于Cookie

基于Session

token

典型的会话管理接口也叫做登陆接口或授权接口

基于Cookie实现会话管理

Cookie是一个容器,默认大小4KB,主要用于存放数据大小比较小的临时数据。

Cookie的特点:

不能跨域:我们访问服务器时,都会通过域名来访问。例如:www.lagou.com,这个www.lagou.com是域名。 如果是我们www.lagou.com域名指向的服务器发送的cookie,那么这个cookie就不能在www.baidu.com中使 用。

存在有效期: Cookie存在有效时间,超过规定的时间后就会失效。可以设置Cookie的配置,来让cookie永久不失效。 不设置有效期时,cookie默认是一个session cookie,浏览器不关闭,cookie不失效

大小:默认4KB大小

有数量限制:不同浏览器限制的cookie数量不一样,为了保证兼容性,做最低兼容,cookie数量不要超过二十 个。

对字符编码有限制

Cookie实现会话管理流程

 1.用户发起登陆请求,服务器根据用户输入的用户名密码判断是否满足登陆的条件,满足则创建一个用户凭证 (字符串)

 2.服务器对该用户凭证进行签名,加密后,写在cookie中

 3. 服务器返回该cookie给客户端

4.客户端保存cookie,并且下次请求时,会默认发送cookie给服务器,服务器做解密和签名认证后拿到其中的登 陆凭证,判断其有效性。判断通过则允许用户访问登陆后的页面,不通过则提示用户登陆

 基于Session实现会话管理

session是把用户数据,放在服务端。

 但是客户端依然需要通过sessionid来访问存放在服务端的session,这样才能实现会话管理。

 

 cookie和session的区别

1.位置不同,cookie在客户端,session在服务器

2.大小不同,cookie默认4kb,session无上限。

3.性能不同,cookie在客户端,不会占用太多服务器资源,而session占用服务器资源,对服务器压力较大

4.有效期不同,cookie可以设置为永久不失效,而session中,浏览器一旦关闭sessoin就会自动close失效

5.安全性不同:cookie在客户端不安全。session在服务端更安全

 

标签:--,接口,会话,session,cookie,服务器,Cookie,客户端
From: https://www.cnblogs.com/cyq0528/p/17527604.html

相关文章

  • PR 调整时间线宽度
    1.问题这里的宽度太小,不好进行下一步的调整2.解决方法方法一按下=可以放宽按下-(=左边的那个键)可以缩小宽度方法二拖动下方的滑动条即可方法三按住ALT+滚轮,即可调节......
  • 矩阵乘法指数的基域不变性
    昨天意识模糊的时候突然想到了这个东西如何证明,重新发明了一遍.对于域\(F\),我们记\(\omega(F)\)为在域\(F\)上的矩阵乘法的张量秩给出的\[\omega(F)=\inf_{n}\frac{\logR(\langlen,n,n\rangle)}{\logn},\]我们知道,对于无限域\(F\)来说,这本质刻画了矩阵乘......
  • 打造原生 WebGL 2D 引擎:一场创意与技术的融合
    打造原生WebGL2D引擎:一场创意与技术的融合1.引言在当今数字化时代,网页的功能越来越丰富,已经远远超越了传统的文本和图片呈现。我们生活在一个充满交互性和视觉魅力的网络世界。每天都会遇到许多令人惊叹的网页效果和动画。作为一个Web3D图形的开发,希望可以通过网页来实现更多......
  • java并发编程(一)----初识
    一、什么是并发  先看“科普中国”给出的官方解释。并发在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。   通俗来讲,并发就是指同一时间间隔内发生两个或多......
  • 3.获取网络接口相关的信息
    GettinginformationabouttheNetworkinterfacesigconfig命令,是net-tools软件包的一部分。ipaddress|addr|ashow如果只想显示ipv4或者ipv6地址,可用:ip-4address1:lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1000......
  • wonderful-sql Task02
    练习题1.编写一条SQL语句,从product(商品)表中选取出“登记日期(regist_date)在2009年4月28日之后”的商品,查询结果要包含productname和regist_date两列。SELECT product_name, regist_dateFROM productWHERE regist_date<'2009-04-28';2.请说出对product......
  • 快速切换 nodejs 的版本
    最近在开发一个常驻进程、定时任务统一调度系统,以应对开发在进程管理方面遇到的各种复杂问题。组里开发项目,一般来说是一个人承包整个项目,包括调度器设计,还有后台系统。我还有一部分工作,是队列相关的信息,这个由监控同学负责,到时候我后台聚合他的数据一并展示。然后我就遇到问题......
  • linux-centos7.6-gpt-uefi安装
    目录一、需要二、环境vm设置系统环境一、需要安装的系统适用企业服务器磁盘大于2个的场景二、环境添加硬盘,挂载硬盘环境:linuxcentos7.6vmwareworkstationPro15.5.2build-15785246vm设置系统环境......
  • Github打不开、chrome应用商店打不开终极解决方案-pigcha
    记录一下一个非常好用的工具,便于后期自己进行查找!Pigcha是什么?是⼀款专业的全平台的⽹络代理⼯具,能xx上⽹,能⽅便地针对域名进⾏代理或⾛本地,非常好用。Pigcha使⽤教程下载客户端并注册登录:入口地址官方使用教程:入口地址是联系客服微信:mrnew_注:如果您发现速度未达预......
  • linux 中fold命令
     001、[root@PC1test02]#lsa.txt[root@PC1test02]#cata.txt##测试数据010203040506070809101112131415[root@PC1test02]#fold-w2a.txt##以两个字符为单位进行折叠010203040506070809101112131415 002、[root@PC1t......