网站,网络服务和网络API

时间:2011-06-15 15:20:13

标签: web-services api web api-design

我是新手,很少有事情感到困惑

  • 有些网站(twitter,foursquare等)为第三方开发者提供API调用。那些API是网站提供的Web服务吗?

  • 这些网站本身是否构建在这些公共API / Web服务之上?理论上有可能吗?

  • 比较传统构建的网站和构建在Web服务之上的网站,优点和缺点?是否有任何性能,可扩展性等差异?

提前致谢!

2 个答案:

答案 0 :(得分:0)

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

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

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

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

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

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

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

我希望这会有所帮助。

答案 1 :(得分:0)

首先,您可能需要更多关于API的信息:请查看Wikipedia api page

回答你的问题(这些只是一般性的想法,而不是最佳做法):

  1. 在这种情况下,API是开发人员用来访问网络服务的一种方式,而服务本身。

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

  3. 请参阅上一点:尽管它在很大程度上取决于您使用的API,但您称之为“传统构建的网站”(即使用服务器端API的Web应用程序)可以提供比完全基于远程构建的网站更高的性能API,因为它们不依赖于网络连接的瓶颈(因为,通常,Web服务器和数据库服务器在同一台机器上运行,或者比客户端的浏览器和服务器通信更快)。 大多数人选择以传统方式开发webapp的原因是免费API提供的功能有限(例如Google自定义搜索,限制为100次)。