API 接口协议繁多,不同的协议有着不同的使用场景。70% 互联网应用开发者日常仅会接触到最通用的 HTTP 协议,相信大家希望了解更多其他协议的信息。我们今天会给大家介绍各种 API 接口主流协议和他们之间的关系。

1、API 接口主流协议有哪些?

接口协议分成两类: 传输层协议和应用层协议。

传输层协议, 是为应用层协议提供端到端的通信服务,负责数据的分段、传输、重组、流量控制、差错控制等功能。

其中,传输层协议主要有两种:TCP 和 UDP。

  • TCP,是一种面向连接的、可靠的、有序的、基于字节流的协议。

  • UDP,是一种无连接的、不可靠的、无序的、基于数据报的协议。

应用层协议,是为不同的应用场景定义了具体的数据格式、交互逻辑、功能实现等细节。

应用层协议有很多种:

另外,传输层协议和应用层协议在唯一标识上有明显的区别:

传输层协议使用端口号来标识不同的应用层协议,端口号是一个 16 位的整数,范围从 0 到 65535。

应用层协议使用 URI(统一资源标识符)来标识不同的资源,URI 是一个字符串,由协议名、主机名、路径名等组成。

2、API 接口主流协议之间的关系?

传输层协议和应用层协议之间有一个多对多的关系,即一个传输层协议可以支持多个应用层协议,也可以有多个传输层协议支持同一个应用层协议。例如,HTTP 可以使用 TCP 或 UDP 作为传输层协议,而 TCP 也可以支持 FTP、SMTP 等其他应用层协议。

而对于应用层协议 RPC,不同的互联网巨头会基于其使用的技术框架更进一步的提出标准更具体的衍生协议。

3、当前 API 接口管理产品对协议的支持对比

我们通常会根据不同的使用场景选用不同的接口协议。经常会有出现同一个业务流程需要调用不同协议的接口进行流程测试,特别是 HTTP 协议和其他协议的搭配。

这时候就需要考验我们所使用的 API 接口管理工具对接口协议支持的覆盖度,以下列举了部分 API 接口管理工具对协议的支持能力,供大家进行参考对比。

4、如何在 Apikit 中创建不同的协议

从上表可见,当前 Eolink Apikit 是市场上对多接口协议支持覆盖度最全的 API 管理工具,使用 Eolink Apikit 可减少频繁切换接口测试工具的风险。那么具体这些协议如何在 Eolink Apikit 中进行创建呢?下面我们将分别讲解。

4.1 HTTP/HTTPS/WebSocket/WebSockets

  1. 在 API 管理应用下的 API 菜单中,点击【+API】按钮;
  2. 在新建 API 页面中,选择所需的 HTTP、HTTPS、WS、或 WSS 协议即可。

4.2 TCP/UDP

  1. 在 API 管理应用下的 API 菜单中,点击【+API】按钮;
  2. 在新建 API 页面中,选择所需的 TCP 或 UDP 协议即可。

4.3 gRPC

  1. 在 API 管理应用下的 API 菜单中,点击【+API】旁的下拉菜单按钮
  2. 选择导入 API

  1. 选中 PROTO 文件类型
  2. 上传本地 PROTO 文件并点击【下一步】按提醒指引完成创建即可

4.4 SOAP

  1. 在 API 管理应用下的API菜单中,点击【+API】旁的下拉菜单按钮
  2. 选择导入 API

  1. 选中 WSDL 文件类型
  2. 上传本地 WSDL 文件或引用在线 URL,并点击【下一步】按提醒指引完成创建即可

4.5 Dubbo/HSF

  1. 在 API 管理应用下的API菜单中,点击【+API】按钮;
  2. 在新建 API 页面中,先选择 RPC 协议,再选择 HSF 或 DUBBO即可。

5、写在最后

API 接口协议制定了接口信息的传递标准规范,不同的接口协议对接口管理工具来说都会拥有不同的底层功能逻辑。所以接口管理工具很难在短时间内完善的新增一种协议的文档管理和接口调试。

Eolink Apikit 从上线7年以来,一直不断的自研创新,解决了一个又一个多协议管理的难题,才最终脱颖而出成为市场上支持主流协议最全面的产品。而我们将继续保持初心,砥砺前行。继续做好国产自主 API 管理软件,在 API 管理领域上带来更多新的突破。

API 接口主流协议有哪些?如何创建 HTTP/HTTP、WebSocket/WebSockets、TCP/UDP、gRPC、SOAP、Dubbo/HSF 等不同协议?的更多相关文章

  1. 使用API接口在zabbix系统中登陆、创建、删除agent

    一.API的介绍 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力 ...

  2. 测开大佬告诉你:如何5分钟快速创建restful风格的API接口-使用django restframework框架

    一.思考❓❔ 1.创建API接口难吗? 软件测试工程师: 只测过API接口, 从没创建过 应该需要掌握一门后端开发语言和后端开发框架吧!? 脑容量有限,想想就可怕 2.如何创建API接口呢? 使用Dj ...

  3. 个人微信号二次开发SDK协议,个人微信号二次开发api接口

    通过这个API接口可以做什么? 通过我们提供的API接口您可以开发: 工作手机(如:X创,X码,XX管家等) 微信群讲课软件(如:讲课X师,一起X堂等) 微信社群管理软件(如:小X管家,微X助手等) ...

  4. 分享一个开源免费、目前最好的API接口管理平台----eoLinker

    一.概况 eoLinker 是目前业内领先.国内最大的在线 API 接口管理平台,提供自动生成 API 文档.API 自动化测试.Mock 测试.团队协作等功能,旨在解决由于前后端分离导致的开发效率低 ...

  5. etcd api 接口

    etcd api接口 基本操作api: https://github.com/coreos/etcd/blob/6acb3d67fbe131b3b2d5d010e00ec80182be4628/Doc ...

  6. Web API接口设计经验总结

    在Web API接口的开发过程中,我们可能会碰到各种各样的问题,我在前面两篇随笔<Web API应用架构在Winform混合框架中的应用(1)>.<Web API应用架构在Winfo ...

  7. Http下的各种操作类.WebApi系列~通过HttpClient来调用Web Api接口

    1.WebApi系列~通过HttpClient来调用Web Api接口 http://www.cnblogs.com/lori/p/4045413.html HttpClient使用详解(java版本 ...

  8. 构建微服务-使用OAuth 2.0保护API接口

    微服务操作模型 基于Spring Cloud和Netflix OSS 构建微服务-Part 1 基于Spring Cloud和Netflix OSS构建微服务,Part 2 在本文中,我们将使用OAu ...

  9. ASP.NET Core 实战:构建带有版本控制的 API 接口

    一.前言 在上一篇的文章中,主要是搭建了我们的开发环境,同时创建了我们的项目模板框架.在整个前后端分离的项目中,后端的 API 接口至关重要,它是前端与后端之间进行沟通的媒介,如何构建一个 “好用” ...

  10. 【WebApi】通过HttpClient调用Web Api接口

    HttpClient是一个封装好的类,它在很多语言中都有被实现,现在HttpClient最新的版本是4.5. 它支持所有的http方法,自动转向,https协议,代理服务器. 一.Api接口参数标准化 ...

随机推荐

  1. tf.keras.layers.MaxPool2D 简介

    tf.keras.layers.Max2D( pool_size=(2, 2), strides=None, padding='valid', data_format=None ) pool_size ...

  2. appium自动化时,automatic server里面desired capabilities的json representation设置

    一点一点来,记号下: 大体格式如下: { "platformName": "Android", "platformVersion": &qu ...

  3. margin:auto实现盒子水平垂直居中

    margin:auto为什么不垂直居中 margin:auto是具有强烈计算意味的关键字,用来计算元素对应方向上应该获得的剩余空间大小. 行内元素margin:auto; 不能水平居中在一行的中央位置 ...

  4. 解决df.to_csv 时增加重复双引号的问题

    df.to_csv("test.csv", sep='|',quoting=csv.QUOTE_NONE,index=False,header=True) 转载自 df.to_cs ...

  5. 比 poi导入导出更好用的 EasyExcel使用小结

    转载请注明出处: 官方文档: https://easyexcel.opensource.alibaba.com/docs/current/quickstart/read 1.简洁 Java解析.生成E ...

  6. 文件上传 upload-labs Pass-18 条件竞争

    Pass-18 条件竞争 审计源码 $is_upload = false; $msg = null; if(isset($_POST['submit'])){ $ext_arr = array('jp ...

  7. RPA现阶段的问题

    RPA(Robotic Process Automation)全称机器人流程自动化,作为"自动化为先"时代的翘楚和先驱,被广泛地用来代替人类自动执行任务,越来越多的领域.企业和人开 ...

  8. RPA的市场定义和企业选型

    RPA(Robotic Process Automation)译为机器人流程自动化,又可以称为数字化劳动力,是一种智能化软件,通过模拟并增强人类与计算机的交互过程,实现工作流程中的自动化.RPA具有对 ...

  9. git clone的时候出现 fatal: unable to access 'https://github.com/...':OpenSSL SSL_read: Connection was reset, errno 10054解决方法

    git clone的时候出现fatal: unable to access 'https://github.com/...':OpenSSL SSL_read: Connection was rese ...

  10. vulnhub靶场之BLUESMOKE: DEVRANDOM2|bluesmoke

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Bluesmoke: devrandom2,下载地址:https://download.vulnhub.com/bluesmoke/Bluesm ...