网站、网络服务、网络 API

问题描述 投票:0回答:2

我是新来的,对一些事情感到困惑

  • 一些网站(twitter、foursquare等)提供API给第三方开发者调用。这些 API 是网站提供的 Web 服务吗?

  • 这些网站本身是建立在这些公共 API/Web 服务之上的吗?理论上可以吗

  • 比较传统构建的网站和基于网络服务构建的网站,有何优缺点?有性能、可扩展性等差异吗?

web-services api-design webapi
2个回答
0
投票

我相信有人可以给你一个更准确的答案,但阅读你的问题并应用我自学的知识:

  • W3C 中 Web 服务的简单技术定义:

    Web 服务是一种软件系统,旨在支持通过网络进行可互操作的机器对机器交互。

    http://www.w3.org/TR/2004/NOTE-ws-gloss-20040211/

    我喜欢将网络服务视为其客户群使用的网站的交互元素。例如,Twitter 的 Web 服务包括:推文、消息、主题标签等。Web 服务是用户获取来回传递的 DO 或 DATA。

  • 公共 Web API 为开发人员提供了在自己的站点上使用 Web 服务的方法。例如,Twitter 的 API 允许 example.com 网站在其自己的域内使用推文、消息传递、主题标签等。 API 是开发人员从外部访问 Web 服务以使应用程序使用这些服务的方式。

  • 我对这个问题一无所知。我不会那样做。我将使用公共 API 公开访问的方法。但是,我从未编写过自己的 API,更不用说 Twitter 或 foursquare 的规模了。

我希望这有帮助。


0
投票

首先,也许您需要更多有关 API 是什么的信息:请查看 Wikipedia api 页面

回答您的问题(这些只是一般想法,而不是最佳实践):

  1. 在本例中,API 是开发人员用来访问 Web 服务的一种方式,它不是服务本身。

  2. 您提到的网站没有使用自己的API,因为这些API适用于远程用户(客户端),并提供有限的数据集,而网站需要最大的性能,访问完整的数据库,并且(几乎)总是使用服务器端代码。您提到的网站可能使用其他服务器端高性能 API。

  3. 请参阅上一点:虽然这在很大程度上取决于您使用的 API,但您所说的“传统构建的网站”(即使用服务器端 API 的 Web 应用程序)可以比完全构建在远程 API 之上的网站提供更高的性能,因为它们不依赖于网络连接的瓶颈(因为,通常,Web 服务器和数据库服务器要么在同一台计算机上运行,要么比客户端浏览器和服务器的通信速度更快)。 大多数人选择以传统方式开发 Web 应用程序的原因是免费 API 提供的功能有限(例如 Google 自定义搜索,仅限 100 个结果)。
© www.soinside.com 2019 - 2024. All rights reserved.