【问题标题】:Difference between software development interfacing terms: API, Web API, REST API, Web Services, SOAP Services软件开发接口术语之间的区别:API、Web API、REST API、Web 服务、SOAP 服务
【发布时间】:2020-08-25 01:04:21
【问题描述】:

API vs Web API vs REST API vs Web 服务 vs SOAP 服务

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

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

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

【问题讨论】:

    标签: rest web web-applications


    【解决方案1】:

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

    在我看来,API 几乎是您用来连接另一块软件/硬件的任何东西。这可能是命令行、HTTP API、本机移动 API、本机 Web API、与 GPIO、L2C 交互的方法……不同的协议。

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

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

    REST API 是一种特殊类型的 Web API,定义了设计/开发通过 HTTP(s) 公开的无状态 API 的标准,该标准被大多数现代 API 采用,尽管有一些不是 RESTful,更多的是 RESTish,但我离题了。[1] RESTful API 将具有如下端点:GET /users/1,以便执行 CRUD 操作,并且通常会接受/响应 JSON。

    在我看来,Web 服务 == Web API,差别不大,服务(在我看来)可以是一个 API,它也可以是一个不公开 API 并且只公开 API 的服务重复一项任务。

    我不打算评论 SOAP,当 SOAP 出现时我还很年轻,但我相信它使用了 XML。

    编辑:这是一个非常广泛的话题,老实说会根据年龄、经验和背景引发一些讨论。但这是我对您上面概述的条款的看法。

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

    【讨论】:

      猜你喜欢
      • 2013-09-24
      • 2017-10-02
      • 2016-11-14
      • 2017-01-13
      • 2018-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-16
      相关资源
      最近更新 更多