弄清楚这些接口(http,https,api,RPC,webservice,Restful api ,OpenAPI)

弄清楚这些接口(http,https,api,RPC,webservice,Restful api ,OpenAPI)本文探讨了不同类型的接口 如 HTTP HTTPS API RPC 如 gRPC Thrift Dubbo WebService RESTfulAPI 和 OpenAPI 以及它们的异同 适用场景和测试

大家好,欢迎来到IT知识分享网。

在测试和开发过程中,不同的服务,不同的架构系统间的调用都会根据系统本身选择不同的接口进行请求和数据传输,这里总结一下各种协议接口的异同和适用场景~~

一. 接口定义

 1.http接口

http是一种传输超文本向本地浏览器的传输协议,

  • HTTP接口:使用HTTP协议进行通信的接口,通过请求和响应进行数据交互,常见的有GET、POST、PUT、DELETE等方法。

2.https接口

也可以说https=http+ssl

3.api接口

api是应用编程接口,主要应用与程序间,通常不暴露外部使用,仅在系统间调用

提供软件组件间的交互接口,可以用于不同软件之间的数据交换。

通常开发进行API技术评审,评审的就是这些内部接口的逻辑

4.rpc接口

rpc是一远程过程调用接口,通常用于分布式或微服务架构的项目

远程过程调用接口,用于在不同计算机或进程间进行通信和调用,实现分布式系统的功能集成

5.WebService 接口

使用标准的Web服务协议(如SOAP、WSDL)进行通信的接口,用于不同平台和语言之间的互操作。

6.Restful api 接口

基于REST架构风格的接口,使用HTTP协议的GET、POST、PUT、DELETE等方法进行数据交互,强调资源的状态转移

7.openApi接口

是一种基于开放标准的API接口,用于描述和定义Web服务的功能、请求和响应等信息。它使用JSON或YAML格式的文档来描述API,包括接口地址、请求方法、参数、返回数据结构等。

二. 区别

1.http和https区别

HTTPS和HTTP的区别:

(1)https协议需要到申请证书,一般免费证书很少,需要交费,htpp不需要申请证书
(2)http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议,信息是加密传输
(3)http和https用的端口不一样,前者是80,后者是443。
(5)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全




https协议适用场景:

https较http传输时数据有加密所以更具有安全性

银行网站、支付网关、购物网站、登录页、电子邮件以及一些企业部门的网站应该使用 HTTPS

2.rpc和webservice区别

3.http和rpc区别

三.适用场景

  • HTTP接口:适用于Web应用程序间的数据交互,常见于前后端的通信。
  • HTTPS接口:适用于对数据传输安全性要求较高的场景,如用户登录、支付等敏感信息的传输。
  • API接口:适用于不同软件之间的数据交换和集成,常见于第三方服务的接入和使用。
  • RPC接口:适用于分布式系统的组件间通信,实现功能的调用和协作。
  • Webservice接口:Webservice接口更适用于跨平台、跨语言的通信,例如企业间的系统集成,通常用于较为复杂的业务流程和数据交换
  • RESTful API:适用于基于REST架构风格的Web服务,提供资源的管理和状态转移。常见于移动应用的后端接口
  •   OpenAP I接口适用于描述和管理Web服务的API,可以用于构建和管理API文档、进行API测试和调试等。它适用于任何需要提供和使用API的场景,包括企业内部的系统集成、第三方开发者的接入等。OpenAPI接口的标准化和规范化使得API的设计、开发和使用更加简便和方便

四.如何调用测试

1、http接口测试

import requests # POST请求示例 def http_post_request(): url = "http://example.com/api" headers = {"Content-Type": "application/json"} data = {"param1": "value1", "param2": "value2"} response = requests.post(url, headers=headers, json=data) if response.status_code == 200: result = response.json() # 处理返回的数据 print(result) else: print("Request failed") # GET请求示例 def http_get_request(): url = "http://example.com/api?param1=value1&param2=value2" response = requests.get(url) if response.status_code == 200: result = response.json() # 处理返回的数据 print(result) else: print("Request failed") # 调用示例函数 http_post_request() http_get_request() 

 2、rpc之dubbo接口测试

先安装

pip install pydubbo 

后调用

from pydubbo import DubboClient def dubbo_request(): # 创建Dubbo客户端 client = DubboClient('zookeeper://localhost:2181') # 设置服务和方法名 service = 'com.example.service.ExampleService' method = 'exampleMethod' # 设置请求参数 params = {'param1': 'value1', 'param2': 'value2'} # 调用远程方法 response = client.invoke(service, method, params) # 处理返回结果 print(response) # 调用示例函数 dubbo_request() 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/115317.html

(0)
上一篇 2025-12-03 17:10
下一篇 2025-12-03 17:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信