0

当我编写需要调用服务器才能运行的软件时,web api 是否比套接字通信更具优势?

如果我们编写一个 web api,我们是否可以利用 http、http 服务器、web 应用程序框架来做更多的事情,而不是通过 socket 做同样的功能?

如果我的客户通过互联网调用我的服务器,我们没有任何理由不将其实现为 web api 吗?

4

2 回答 2

2

我会说“网络 API”是一种“套接字 API”。虽然套接字 API 基本上可以是任何在套接字上运行的东西,但 Web API 是使用 HTTP 协议完成的。这有一些限制,但通常优势更重要:

  1. 您重用现有的协议和方法,而不是重新发明自己的协议和方法。这使您的工作更轻松,并且对于不必从头开始实施所有内容的用户来说更容易;
  2. 您可以使用现有工具(甚至是常规 Web 浏览器)来调试您的 API。好吧,使用套接字 API,您通常可以使用 telnet,但对于更复杂的情况,Web 浏览器或任何 HTTP 查询工具更易于使用;
  3. 您重用 HTTP 端口 80(和/或 443)。这通常意味着任何防火墙都不太可能禁止您的用户访问您的服务使用的端口。
  4. 毕竟,如果您选择了正确的技术,您可以将它们重用“在”甚至“作为”网页。例如,您可以使用 AJAX 或类似技术在网页上的脚本中从 API 捕获数据。

更好的是,如果你只是使用 XML 来做 API 输出,你基本上可以同时把它变成一个 API 和一个网页。您只需向其中添加对 XSLT 样式表的引用,每当 Web 浏览器使用该 API 时,它就会使用它将原始 XML 转换为 HTML。

于 2012-07-31T07:49:50.750 回答
0

Web 服务只输出 XML 而不是 HTML。创建 Web 服务的原因与创建网站的原因没有什么不同

可以远程调用 Web API。

可以以独立的方式调用 Web API。这意味着您可以允许您的用户(和您)使用您为最终客户构建的其他界面。

您可以按照您想要的方式对 API 进行编程。 唯一的要求是生成有效的 XML。所以,是的,您可以使用一些框架,您应该使用 Web 服务器作为输出网页的服务器。

如果客户端通过 Internet (SAAS) 调用您的服务,则创建 Web 服务允许您提供新接口。为了使用 SOAP 并允许刷新网页以及将数据提供给重型客户端,需要 Web 服务。

于 2012-07-31T07:37:18.347 回答