通过javascript或服务器端库更快地访问API

时间:2011-10-26 21:58:21

标签: performance api

我想显示从网络API获取的信息。 (例如,instagram或last.fm)

使用serverside(Ruby)或clientside(JS)API库之间通常存在明显的速度差异吗?

我猜Javascript会更快,因为一旦页面加载到客户端的浏览器中,您就可以异步联系API

只是想知道是否存在“最佳实践”,因为客户端和服务器端通常都存在API库。

2 个答案:

答案 0 :(得分:1)

一个很大的区别是JS API不会在您的服务器上增加负载,因此可以更轻松地扩展您的Web应用程序。

此外,通常使用JS对用户来说可能更快,因为客户端的浏览器将直接从Web-API服务器获取数据,而不是通过您的服务器。

答案 1 :(得分:1)

每种方式都有利弊,一种情况确实不比另一方更好或更差,对于一般情况,你必须使用在你的情况下有意义的东西。

通过少量数据/操作,您很可能会受到Web请求本身的限制,而不是JavaScript或Ruby的处理能力。

我没有列出详尽的清单,但需要考虑一些一般事项:

客户端:

  • 处理能力被推送到客户端,您使用的资源更少,但性能会有所不同。
  • API必须支持JSONp或Access-Control-Allow-Headers。
  • 大型数据集上的大型操作非常慢。
  • 您网站的任何访问者都可以查看任何API密钥。
  • 服务器的初始响应时间会更快,但如果您从API请求中加载大部分内容,则仍需要等待。

服务器端:

  • 不会向客户端公开API密钥。
  • 使用更多资源,但可以处理更多数据/操作
  • 将需要更长的时间才能返回初始页面。
  • 由于支持oAuth或其他安全功能,因此有时会有其他用户功能/方法。