接口测试(一)基础

一、http请求格式

请求:从客户端到服务端的请求消息

请求消息格式

  • 请求行:请求方法、请求URL、HTTP协议及版本
    URL的一般形式为<协议>://<主机>:<端口>/<路径>/<文件名>
  • 请求头部
  • 空一行
  • 请求体

在这里插入图片描述

  1. 请求方法
请求方法
get请求读取由URL所标识的信息,获取信息和资源(获取资源)
post给服务器发送数据,发送提交数据(传输资源)
head请求读取由URL所有标识的信息的首部(获得报文首部)
put在指明的URL下存储一个文档–restful–替换资源(更新资源)
delete删除指明的URL所标识的资源(删除资源)
connect用于代理服务器
option请求一些选项的信息
trace用来进行环回测试的请求报文
  1. 请求url
    如:
    http://wy.lemonban.com:3000/callComponent/login/DoLogin?version=2.0
url格式
http协议
wy.lemonban.com域名/ip
3000端口
/callComponent/login/DoLogin资源路径
version=2.0参数=参数值
  1. 请求头部
    重点了解:content-type
    content-type
  • application/json : {key:value},键值对形式
    key:键,双引号引起来
    value:值,数值可以不用引号,建议全部引号引起来
    传空值:null 或 “”
{
"logo":"HC",
"name":"小米",
"age":20,
"sex":"man",
"salary":""
}
  • text/xml : <></>,一对标签中包裹传递的数据
<username>wy tudou</username>
<passwd>lemon666</passwd>
请求头部
content-type传给服务器的内容的格式。请求体的内容类型。如application/x-www-form-urlencoded
User-Agent产生请求的客户端类型–windows,浏览器版本(内核),反爬虫机制
Accept客户端可识别的内容类型列表
Host请求的主机名,允许多个域名同处一个IP地址,即虚拟机
Accept-Encoding客户端使用的编码环境和编码方式
Accept-Language客户端语言环境
Accept-Charsetclient接收的字符集
Authorization授权信息,一般用于存放授权之后的信息
Authentication客户端提供给服务器,进行权限认证的信息
Connection表示是否需要持久连接
Content-Length表示请求数据正文的长度
Cookie这个与服务器端做交互的,存储保持会话的重要信息–login(用户名+密码)–无状态
Refer表示该次请求的来源,一般用于做防盗链
content-length请求体的数据长度
cache-control缓存机制:cache-control:no cache
pragma防止页面被缓存,和cache-control:no cache一样
  1. 请求体(请求正文)
  2. 常见的接口协议
    ① HTTP类型/协议:通过GET或POST来获取数据,在数据处理上效率比较高----95%项目都是http协议
    ② Webservice类型/协议:通过soap协议来获取数据,比起http来说能处理更加复杂的数据类型。本质上也是http协议。----传统项目的接口类型

二、http响应格式

响应:从服务端到客户端的响应数据
在这里插入图片描述

  1. 响应状态码
响应状态码
1××指示信息,表示请求已接收,继续处理。
2××成功,表示请求已被成功接收、理解和接受。
3××重定向,要完成请求必须进行更进一步的操作。
4××客户端错误,请求有语法错误或请求无法实现。
5××服务器错误,服务器未能实现合法的请求。
  1. 响应头
    cookie/session(登录鉴权)

  2. 响应体/响应正文:针对请求从服务响应回来的具体数据,比如xml、json等,token(登录鉴权)

三、常见问题

  1. get与post区别
  • 在客户端,get方式在通过url提交数据,数据在url中可以看到;post 方式,数据放置在htmlheader内提交
  • get方式提交的数据最多只能有1024字节,而post则没有此限制
  • 安全性问题。使用 get 的时候,参数会显示在地址栏上,而 post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post 为好
  • 安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一 url 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。换句话说,get 请求一般不应产生副作用。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。post 请求就不那么轻松了。post 表示可能改变服务器上的资源的请求。
  1. cookie、session、token区别
  • cookie:客户端和服务器都能创建cookie,存放客户端。存放一些不敏感的数据,比如说用户名信息,数据类型json
  • session:服务器端生成session,存放服务器端。可以存放任意数据,一般默认时间是30min,session依赖cookie实现
  • token:服务器生成、验证,以cookie或请求头的方式传给客户端,客户端以同样方式发送给服务器。
  1. 通行证
    session id会存在cookie中,每次请求cookie中的所有信息都会传送给服务器,服务器通过session id来识别是否是同一个用户的请求。不是同一个用户的话,就会要求用户重新登录。相当于登录鉴权。

  2. 凡是登录之后才能操作的页面,其对应的接口都需要做登录鉴权。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/892728.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HCIP——以太网交换安全(四)DHCP Snooping

目录 一、DHCP Snooping的知识点 二、DHCP Snooping实验拓扑 三、总结 一、DHCP Snooping的知识点 1.1、DHCP snooping 概述&#xff1a; ①DHCP Snooping使能DHCP的一种安全特性&#xff0c;用于保证DHCP客户端从合法的DHCP服务端获取IP地址。DHCP服务器记录DHCP客户端IP…

pycharm 找不到conda环境

参考&#xff1a;新版Pycharm解决Conda executable is not found-CSDN博客

[C++刷题] 基础小知识点(1) 乘方函数pow()

乘方 pow() 该函数在math.h头文件中 例如: 求圆的面积公式 s3.14*pow(r,2); 例题: #include<iostream> using namespace std; #include<math.h>) int main() {int h;int r;cin >> h >> r;double v h * 3.14 * pow(r, 2);int ret 0;if (v > 200…

slam系列4:nerf和3dgs

常用的3维表示法&#xff1a; NeRF属于是density的模型&#xff0c;模型的参数如下&#xff1a; 传统的 3D 模型表示方法&#xff0c;如 离散的Mesh 和点云&#xff0c;以及连续的 Nerf&#xff0c;通常面临着一个主要问题&#xff1a;随机采样过程中产生的噪声&#xff0c;这…

P5430 7.68T U.2 NVME SBFPF2BU076T001 Solidigm固态硬盘

SBFPF2BU076T001 Solidigm P5430 7.68T U.2 NVME企业级固态硬盘 Solidigm针对企业应用推出D5-P5430固态硬盘&#xff0c;针对主流和读取密集型应用程序进行了优化&#xff0c;面向大量企业工作它采用PCIe Gen 4总线与QLC类型NAND颗粒&#xff0c;提供大量的存储密度并降低总拥…

《云计算网络技术与应用》实训6-1:配置KVM虚拟机使用NAT网络

任务1、计算节点基础环境准备 1. 使用VMware安装CentOS 7虚拟机&#xff0c;安装时记得开启CPU虚拟化&#xff0c;命名为“KVMC6”。 2. &#xff08;网卡配置和之前的一样&#xff0c;都用100网段&#xff09;网关设置为192.168.100.1&#xff0c;地址段为192.168.100.10-25…

数据分析:R语言计算XGBoost二分类模型的SHAP值

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍SHAP用途计算方法:应用加载R包导入数据建模平均SHAP值计算单个样本的每个特征的SHAP值蜜蜂图依赖图单个样本的SHAP解释(Force Plot)其他方法计算SHAP值单个个体预测结果系统信息…

轻松掌握:如何查找家中WiFi的IP地址

在如今数字化生活的时代&#xff0c;WiFi已成为我们日常生活中不可或缺的一部分。无论是上网冲浪、在线学习、还是远程办公&#xff0c;稳定的WiFi连接都显得尤为重要。然而&#xff0c;有时我们可能需要了解家中WiFi的IP地址&#xff0c;以便进行网络设置、故障排查或进行其他…

基于springboot留守儿童爱心网站

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 系统展示 【2024最新】基于JavaSpringBootVueMySQL的&#xff0c;前后端分离。 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;…

爬虫之数据提取

HTML数据提取 这一片文章, 我们一起学习如何利用HTML标签来提取数据。 我们打开二手房网站: 我们打开开发者工具, 找到请求: 这次我们找的请求, 和以前的不一样了, 所以这里面带大家找一找, 以前我们找的请求都是json格式的响应数据, 那今天由于我们要学习如何提取html数据, …

Jenkins实践(三):分包编译部署到Maven私仓

本文主要是针对springboot多模块项目&#xff0c;参数化构建、分包部署到maven私仓的记录。本文以上篇文章为基础进行记录。 系列文章&#xff1a; Jenkins入门&#xff08;一&#xff09;&#xff1a;从搭建到部署第一个Springboot项目(踩坑记录)_ub24.04安装jenkins-CSDN博…

LinkedList和链表(上)

1. 顺序表ArrayList的缺点和优点 优点: 1> 在给定下标进行查找的时候,时间复杂度是O(1) 缺点: 1> 插入数据必须移动其他数据,最坏情况下,插入到0位置,时间复杂度为O(N) 2> 删除数据也需要移动数据,最坏情况下,就是删除0位置.时间复杂度为O(N) 3> 扩容之后(1.5倍扩容…

《深度学习》OpenCV 物体跟踪 原理及案例解析

目录 一、物体跟踪 1、什么是物体跟踪 2、步骤 1&#xff09;选择跟踪算法 2&#xff09;初始化跟踪器 3&#xff09;在每个视频帧上执行跟踪 4&#xff09;可选的重新初始化 3、原理 二、案例实现 1、完整代码 1&#xff09;使用方式 2&#xff09;运行结果 2、关…

麒麟桌面版v10 SP1以docker方式安装达梦数据库

安装docker 0.切换root用户&#xff08;可以不切换&#xff0c;但要注意权限问题&#xff0c;我是用root&#xff09; ymym-pc:~/桌面$ whoami ym ymym-pc:~/桌面$ sudo -i rootym-pc:~# whoami root rootym-pc:~# 1.查看系统版本 [rootlocalhost opt]# cat /etc/os-release…

java类和对象(上)

前言&#xff1a; 不知道大家有没有将java方法的使用熟记入心呢&#xff1f;如果没有的话&#xff0c;可以打开博主的上一篇博文阅读哦&#xff0c;在这里谢谢大家一路的陪伴。也希望我的内容能够帮到你更快的掌握java语言的学习。接下来我们要讲的是java类和对象。让我们整理…

最新Mac优化清理工具CleanMyMac X 4.15.6 for mac中文版图文教程

CleanMyMac X mac版下载是一款功能更加强大的系统优化清理工具&#xff0c;软件只需两个简单步骤就可以把系统里那些乱七八糟的无用文件统统清理掉&#xff0c;节省宝贵的磁盘空间。CleanMyMac X for mac相比于 CleanMyMac3来说&#xff0c;功能增加了不少&#xff0c;比如新增…

Java并发 - AQS之CountDownLatch

文章目录 基本使用源码分析awaitcountDowngetCount 可重置的CountDownLatch总结 CountDownLatch是一个多线程同步工具类&#xff0c;允许一个或多个线程等待&#xff0c;直到在其他线程中执行的一组操作完成。主要用来解决一个线程或多个线程等待另外多个线程的场景。 初始化需…

在Linux中搭建WordPress并实现Windows主机远程访问

WordPreWordPress是一个基于PHP开发的开源平台&#xff0c;适用于在支持PHP与MySQL数据库的服务器上搭建个性化博客或网站。同时&#xff0c;它也能够作为功能强大的内容管理系统&#xff08;CMS&#xff09;被广泛应用。 虚拟机&#xff1a;VirtualBox 虚拟机安装&#x1f449…

win10中mysql数据库binlog恢复

win10中mysql数据库binlog恢复 昨天有朋友江湖救急&#xff0c;说测试库里的表不小心删除更新了数据。这里也复习下binlog数据恢复&#xff0c;当然需要一定的条件&#xff1a;首先mysql开启binlog&#xff0c;然后每天需要备份对应的数据库 1 单库单表准备 在恢复数据前&am…

QT开发--文件的读写操作

第十三章 文件的读写操作 Qt提供两种读写纯文本文件的方法&#xff1a; 1、直接使用 QFile 类的IO功能&#xff1b; 2、结合 QFile 和 QTextStream&#xff0c;利用流(Stream)进行操作。 13.1 文件读操作 13.1.1 使用QFile类 Qt封装了QFile类&#xff0c;方便我们对文件进行操…