心之所有
想学习的可以互相沟通,互相学习,刚开始学。有什么问题可以沟通

导航

 

一、金字塔模型:

 

二 、API测试定义:

接口测试又叫API测试,从小的方面来说:是对应用程序接口的的功能进行测试,从大方面说,就是在集成测试过程中,就是调用API测试整体的功能性,可靠性,安全性和性能   

saus--微服务架构(软件及服务)→pas(平台及服务)

 

saus(pas):轻量级的Rest API或者RPC的通信模式

HTTP/1.1--Rest PAI

HTTP/2.0--RPC

三、HTTP协议

HTTP协议也叫做:超文本传输协议

 

 网络分层:

1、TCP/IP分层管理

主要分成:应用层、传输层、网络层、数据链路层 

应用层:应用层决定了向用户提供应用服务时提供的活动,http的协议层就是 应用层的协议。

传输层:应用层的下层 时网络传输层,提供处于网络连接的两台计算机之间的数据传输。

网络层:主要是用来处理网络上流动的数据包,数据包就是网络传输中的最小单位,在该层协议中,通过怎样的路径达到目标计算机,并且把数据包传送给对方

链路层:处理连接网络的硬件部分,如 :操作系统 ,硬件设备的驱动程序。

2、TCP/IP传输流程图:

先时通过客户端输入内容 ,通过客户端的协议通过网络模式传送给服务端,在服务端内部进行处理,通过网络的模式返回给客户端。

 

 

如:三次握手:

具体为:SYN和ACK。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发送ACK报文,并分配资源,这样TCP连接就建立了。总结三次握手具体为:
• 第一次握手:起初两端都处于CLOSED关闭状态,Client将标志位SYN置为1,随机产生一个值seq=x,并将该数据包发送给Server,Client进入SYN-SENT状态,等待Server确认;
• 第二次握手:Server收到数据包后由标志位SYN=1得知Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=x+1,随机产生一个值seq=y,并将该数据包发送给Client以确认连接请求,Server进入SYN-RCVD状态,此时操作系统为该TCP连接分配TCP缓存和变量;
• 第三次握手:Client收到确认后,检查ack是否为x+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=y+1,并且此时操作系统为该TCP连接分配TCP缓存和变量,并将该数据包发送给Server,Server检查ack是否为y+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client和Server就可以开始传输数据

3、URI和URL

URI:统一称为资源标识符

URL:统一称为资源定位符

4、HTTP协议的请求流程:

 

持久连接:

在http协议0.9版本以前,服务端和客户端在交互的时候,每发送一次请求,都需要断开和连接,这样对服务端的性能损耗比较大,后来进行了升级,在1.0版本以后,有了connection:keepa-alive,优点就是只要没有明确要断开,就一直保持TCP的连接,减少了对性能的损耗。

 

 5、通信模式:

可以分为:同步通信和异步通信

具体的说就是 请求 /相应 和 异步 请求/相应(发布)订阅模式。

同步通信:客户端发送请求给服务端,服务端必须回复客户端的请求。

缺点:容易超时,客户端发送请求给服务端,服务端迟迟没有回应客户端。

如果请求存在大的计算量和逻辑存在问题,就会导致请求堵塞,后面的都积压,无法进行下一步操作

异步通信:在异步的交互中,客户端和服务端不需要关注对方的存在,只需要关注对应的MQ的消息,,客户端和服务端的交互主要是通过MQ的消息作为中间的消息进行传递,未进行交互(比如说:在手机下载一个软件,点击下载后,可以进行其他软件的使用,应用在后台下载,并不会影响下载的进程,)

6、请求方法:

在HTTP协议中,常见的请求方法有:

GET:请求指定 的页面信息,并返回实时主体

POST:向指定资源提交数据进行处理(如上传文件),数据被包含在请求中,POST请求可能会导致新的资源建或者,原有资源修改

Delete:请求服务器删除指定的页面

PUT:从客户端向服务器传送数据,取代指定文档的内容

7、常用的状态码:

200:请求成功

301:永久重定向

302:临时重定向

(1)测试问题,(客户端问题)

400:

401和403:需要认证授权

客户端问题的处理:

 

 404:请求资源不存在

405:不被允许

解决思路:如果不是GET和POST请求,需要和开发核对,如果开发没有问题,找运维核对,(运维可能设置了安全体系,)需要把请求地址添加到白名单就可以

(2)开发问题:

500:开发问题

504:网关超时

 

 

8、请求头()/响应头  (

请求头;指定客户端接受哪些类型的信息

Contentt-Type:请求数据的格式

Cookie:1,反爬虫    2、维持当前访问会话

Referer:表示这个请求是从那个页面发送过来的

User-Agent:可以使服务器能够识别客户使用的操作系统版本、浏览器以及版本信息

Host:指定请求资源的主机IP地址和端口号

Date--相应头(响应产生时间):

Content-Encoding:响应内容的编码

Server:服务器的信息

Content-Type:返回指定的数据格式

Set-Cookie:设置Cookie,响应头里面的Set-Cookie告诉开客户端把此内容放在Cookie中,下次请求携带Cookie的请求

Expires:指定相应的过期时间

 

 

 四、怎样区分是前段问题还是后端问题:

(1)没有和服务器进行交互的就是前段问题

如:在拉钩登陆界面,只输入内容,不做其他操作,出现错误信息,属于前端问题

如:

 

 

(2)前段和后端交互的就是后端问题:

如:拉钩登陆界面,输入内容和密码点击登陆,这个时候就要前后端交互,出现错误提示就是后端问题

 如:

 

posted on 2021-07-05 18:21  橙橙的橙  阅读(120)  评论(0编辑  收藏  举报