软件开发接口术语之间的区别:API,Web API,REST API,Web服务,SOAP服务

API,Web API,REST API,Web Service,SOAP Services

我在采访中多次遇到这个问题。另外,我发现当有人要求他们解释这些术语中的任何一个时,许多人会感到困惑,他们开始混淆这些术语。

我浏览了网络上的许多内容,但从未找到任何页面可以在一个位置很好地解释所有这些术语。

谁能解释这些术语以及它们之间的相互关系?

评论
gquia
gquia

我认为问题在于这些术语可以互换使用,实际上并没有严格的定义。

我认为,API几乎是您用来连接另一软件/硬件的任何东西。这可以是命令行,HTTP API,本机移动API,本机Web API,与GPIO,L2C等交互协议的方法。

大部分编程使用了不同API的多层(抽象),从技术上讲,方法是一种API。你明白了吗?

Web API通常会使用HTTP(S)或类似技术来公开其API。您也可以将“网络” API视为可以通过Internet(例如,通过TCP或使用gRPC等)公开其API的任何东西。

A REST API is a particular type of Web API, defining a standard for designing/developing stateless APIs exposed over HTTP(s), this standard is adopted by most modern APIs, although a few aren't RESTful, more RESTish, but I digress.[1] RESTful APIs will have endpoints like: GET /users/1 in order to perform CRUD operations, and will usually accept/response JSON.

Web服务== Web API在我看来并没有太大区别,服务(在我看来)可以是API,也可以是不公开API且仅重复执行任务的服务。

我不会对SOAP进行评论,当SOAP出现时我还很小,但是我相信它使用XML。

编辑:这是一个非常广泛的主题,并且会根据年龄,经验和背景诚实地引发一些讨论。但这是我对您上面概述的术语的看法。

[1] https://en.wikipedia.org/wiki/Representational_state_transfer

点赞
评论