【问题标题】:website, webserivce and web API网站、网络服务和网络 API
【发布时间】:2011-09-15 15:36:39
【问题描述】:

我是这里的新手,对一些事情感到困惑

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

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

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

提前致谢!

【问题讨论】:

    标签: web-services api web api-design


    【解决方案1】:

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

    • 根据W3C对Web Services的简单技术定义:

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

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

      我喜欢将 Web 服务视为其客户群使用的网站的交互元素。例如,Twitter 的网络服务包括:推文、消息、主题标签等。网络服务是用户可以执行的操作或来回传递的数据。

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

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

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

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

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

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

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

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

      【讨论】:

      • 对于 2。我想我的意思是网站的客户端/前端 UI。除了布局等,客户端的内容和从客户端启动的活动及其响应都可以由服务器/Web服务端提供的API(公共+私有)来处理,我们可以这样说吗?
      猜你喜欢
      • 2011-06-30
      • 1970-01-01
      • 2014-12-01
      • 2012-06-05
      • 2015-03-31
      • 2016-05-03
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      相关资源
      最近更新 更多