软件测试/测试开发丨接口测试学习笔记-常见的接口协议

news2024/11/28 11:47:36

点此获取更多相关资料

本文为霍格沃兹测试开发学社学员学习笔记分享
原文链接:https://ceshiren.com/t/topic/27726

一、网络模型

image

二、常见接口协议

image

RPC协议

  • RPC(remote procedure call)
  • 以本地代码调用的方式实现远程执行
  • 主要用于公司内部的服务调用

优点

  • 传输效率高,性能损耗低、自带负载均衡、更好的服务治理能力

常见的RPC协议

  • Dubbo:Java基础上的高性能RPC协议
  • gRPC:高性能通用RPC框架,基于protocol buffers(一个语言中立,平台中立的数据序列化框架)
  • Thrift:与gRPC类似的多语言RPC框架

三、HTTP 协议详解

3.1、HTTP协议

  • 请求

    • 请求行:method、URL、protocol
    • 请求方法:get、post、put、delete、head
    • 请求头:Cookie、user-agent
    • 请求参数:query
    • 请求体:Json、xml、form
  • 响应

    • 响应状态行
    • 响应头
    • 响应体

3.2、URI和URL

  • URI:统一资源标识符,用来唯一标识一个资源

  • URL:统一资源定位符,它是一种具体的URI

  • URL结构:
    https://www.baidu.com/s?wd=霍格沃兹&rsv_spt=1

    1. 协议:http
    2. 域名:www.baidu.com
    3. 端口:跟在域名后面,域名和端口之间使用“:”作为分隔符,非必须,如果省略端口部分将采用默认端口
    4. 路径:/s
    5. 请求参数:wd=霍格沃兹&rsv_spt=**1

3.3、HTTP 请求报文

> GET /uploads/user/avatar/31438/8216a3.jpg HTTP/1.1
> Host: ceshiren.com
> Accept-Encoding: deflate, gzip
> Connection: keep-alive
> Pragma: no-cache
> Cache-Control: no-cache
> User-Agent: Mozilla/5.0 
(Macintosh; Intel Mac OS X 10_15_0)
 AppleWebKit/537.36 
 (KHTML, like Gecko) 
 Chrome/80.0.3987.116 Safari/537.36
> Accept: image/webp,image/apng,image/*,*/*;q=0.8
> Referer: https://ceshiren.com/
> Accept-Language: en,zh-CN;q=0.9,zh;q=0.8
> Cookie: user_id=xx;

_homeland_session=xx;
>

3.4、HTTP 响应报文

< HTTP/1.1 200 OK

< Server: nginx/1.10.2
< Date: Thu, 12 Mar 2020 09:13:44 GMT
< Content-Type: image/png
< Content-Length: 11390
< Connection: keep-alive

3.5、HTTP 响应状态码

  • 1xx 临时响应,表示通知信息,请求收到了或正在进行处理

  • 2xx 表示成功,接受或知道了

    • 200 成功
  • 3xx 表示重定向,要完成请求还必须才去进一步的行动

    • 301 永久移动
    • 302 临时移动
  • 4xx 表示客户端请求错误

    • 403 未授权
    • 404 未找到
  • 5xx 表示服务端错误

    • 500 服务器内部错误
    • 503 服务不可用

四、Restful 架构

  • Restful:Representational State Transfer

  • 借助于 HTTP 协议的基本请求方法代表资源的状态切换

    • GET:获取资源
    • POST:新增或者更新
    • PUT:更新资源
    • DELETE:删除资源

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3分钟轻松实现网关网口连接罗克韦尔AB CompactLogix系列PLC

目录 EG网关网口连接罗克韦尔AB CompactLogix系列PLC 一. 准备工作 1.1 在对接前我们需准备如下物品 1.2 EG20网关准备工作 1.3 PLC准备工作 二. EMCP平台设置 2.1 新增EG设备 2.2 远程配置网关 2.3 网关绑定 2.4 通讯参数设置 2.5 创建设备驱动 2.5.1 添加变量 2.…

springcloud之项目实战搭建单体

写在前面 在上篇文章 中我们介绍了项目的整体内容以及架构&#xff0c;本文就开始实现一个单体的版本&#xff0c;在之后的文章中&#xff0c;在使用springcloud相关组件将这个单体的版本一步步的拆分为微服务的版本&#xff0c;在开始之前再贴下组件图&#xff1a; 本文我们分…

win11 vscode配置c/c++,使用mingw编译器

文章目录 第一步&#xff1a;装好vscode第二步&#xff1a;下载 mingw创建一个文件夹作为C或者C的项目文件夹&#xff0c;用vscode打开 第一步&#xff1a;装好vscode 之前使用python时装过 第二步&#xff1a;下载 mingw 官网 3.从这个界面一直往下滑 找到&#xff1a; 下…

是真的吗?Nuture子刊告诉你这么多年的微生物组经验都是错的?!

发表期刊&#xff1a;Nature Microbiology 发表时间&#xff1a;2023 影响因子&#xff1a;28.3 DOI: 10.1038/s41564-023-01426-7 在过去的二十年里&#xff0c;人们对人类微生物组研究的兴趣呈指数级增长&#xff0c;同时伴随而来的一系列相关研究的文献发表数目也是逐年递…

通过cri-o部署k8s集群环境

目录 一.基础环境配置&#xff08;每个节点都做&#xff09; 1.hosts解析 2.防火墙和selinux 3.安装基本软件并配置时间同步 4.禁用swap分区 5.更改内核参数 6.配置ipvs 7.k8s下载 &#xff08;1&#xff09;配置镜像下载相关软件 &#xff08;2&#xff09;配置kube…

B站数据分析,UP主粉丝画像如何看?

随着互联网的发展&#xff0c;在大数据时代的今天&#xff0c;越来越多的企业用它们来指导精准营销&#xff0c;数据资源成为各大公司竞相追逐的香饽饽&#xff0c;而对于短视频广告投放来说&#xff0c;了解账号的粉丝人群画像&#xff0c;就可以知道他们的喜好厌恶&#xff0…

GitHub相应太慢

后期使用到github下载源码&#xff0c;会发现响应太慢&#xff0c;本篇文章解决你的问题 获取域名对应的ip 访问链接&#xff1a;https://raw.hellogithub.com/hosts&#xff08;ps&#xff1a;这链接定时更新&#xff09;&#xff0c;获取对应的host配置。 如果需要工具自动…

专注域控制器深挖护城河,知行科技逐渐摆脱“大客户依赖”

两年营收剧增26倍有余&#xff0c;位列中国第二大第三方自动驾驶域控制器提供商&#xff0c;正是因为这基本面的扎实、护城河的深度&#xff0c;知行科技成长的进程才格外受人关注。在9月中上旬通过聆讯后&#xff0c;上市的一环也即将被补上。 而最近公布的信息里&#xff0c…

Arm64体系架构-MPIDR_EL1寄存器

背景 在Arm64多核处理器中, 各核间的关系可能不同. 比如1个16 core的cpu, 每4个core划分为1个cluster,共享L2 cache. 当我们需要从core 0将任务调度出来时,如果优先选择core 1~3, 那么性能明显时优于其他core的. 那么操作系统怎么知道core之间这样的拓扑信息呢? Arm提供了MPID…

敏捷项目管理解锁:2023年使用YouTrack的全面指南

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

20231008工作心得:sql

1.SQL语句里的if的嵌套使用 if(product A and brand_name B,C,if(product A and brand_name !B,D,product)) as product if&#xff08;A,B,C&#xff09;。SQL里if函数&#xff0c;如果条件A成立&#xff0c;就显示B的值&#xff0c;否则就显示C。 这个代码的意思的&#x…

RK3588实用技巧:查看显示器支持的分辨率,基于weston修改分辨率输出

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/133685938 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

数据结构面试常问问题--保研及考研复试

前言&#xff1a; Hello大家好&#xff0c;我是Dream。今年保研上岸山东大学人工智能专业 &#xff08;经验贴&#xff09;&#xff0c;现在将我自己的专业课备考知识点整理出来&#xff0c;分享给大家&#xff0c;希望可以帮助到大家&#xff01;这是重点知识总结&#xff0c;…

mfoc-hardnested项目属性

常规 预处理器 NDEBUG _CONSOLE NOGDI _AMD64_ _CRT_SECURE_NO_WARNINGS CONFFILES DRIVER_ACR122S_ENABLED DRIVER_ACR122_USB_ENABLED DRIVER_ARYGON_ENABLED DRIVER_PN532_UART_ENABLED DRIVER_PN53X_USB_ENABLED ENVVARS HAVE_CONFIG_H LOG u_int16_tuint16_t u_int8_tuin…

解决Playwright无法登录Google账号的问题

文章目录 问题描述解决问题免费登录生成代码问题描述 当使用playwright需要登入google帐号的时候,有可能会出现下面的情况:无法登录,提示浏览器不安全(因为我们是脚本使用) 【Python自学笔记】微软自动化测试工具playwright,微软版selenium解决问题 解决上面这个无法登入…

竞赛 深度学习 python opencv 动物识别与检测

文章目录 0 前言1 深度学习实现动物识别与检测2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存…

Windows关闭指定端口程序

1.netstat -ano |findstr “4710” 2.查询当前端口PID为8376的进程 tasklist | findstr 8376 3. 选择杀死进程的方式 taskkill /f /t /im "PID or process name " ① taskkill /f /t /im “8376” ② taskkill /f /t /im “node.exe”

MPLS VPN知识点梳理与实战

项目拓扑与项目需求 项目需求&#xff1a;如图所示&#xff0c;某公司拥有总部和分支A、分支B。现在需要实现如下需求 总部和分支通过mpls vpn互联&#xff0c;运营商内部使用RR放射MP-bgp路由&#xff0c;运营商IGP协议选择ospf&#xff0c;企业内部的IGP选择ospf2、分支A和分…

【初识Jmeter】【接口自动化】

jmeter的使用笔记1 Jmeter介绍与下载安装介绍安装配置配置与扩展组件 jmeter的使用基本功能元素登陆请求与提取cookie其他请求接口关联Cookie-响应成功聚合报告查看 Jmeter介绍与下载安装 介绍 jmeter是apache公司基于java开发的一款开源压力测试工具&#xff0c;体积小&…

HTML5使用html2canvas转化为图片,然后再转为base64.

介绍 场景&#xff1a;今天同事提了个协助&#xff0c;将HTML5文件中的元素转为图片&#xff0c;并且最终转为base64格式传给后端。感觉还挺有意思就记录下。&#xff08;试例如下&#xff09; 步骤一&#xff1a;引入html2canvas 的js源码 html2canvas.min.js 下载地址 htt…