【问题标题】:Client Side vs Server Side When GET data from API从 API 获取数据时的客户端与服务器端
【发布时间】:2017-02-28 19:04:17
【问题描述】:

我正在从电影 API 检索数据。

现在我可以在客户端 (jQuery) 上执行此操作,也可以在服务器端 (Node.js) 进行 http get 调用。

这样做有最佳实践吗?一个选项比另一个更快吗?

(我倾向于服务器端,因为我可以隐藏我的 API 密钥)但有兴趣确定。

【问题讨论】:

  • 如果涉及API密钥,你应该做服务器端。永远记住,客户端可以看到任何非匿名的函数或变量。如果您想异步发出请求,请从客户端向服务器发出异步请求,然后服务器向 api 发出请求。
  • 如果数据位于不同的服务器中,则不能(从客户端)进行 AJAX 调用。你会得到跨浏览器脚本错误
  • @SharjeelAhmed — 错误。我们从 2005 年开始使用 JSONP,从 2006 年开始使用 CORS(至少是草案形式)。
  • 我不确定 JSONP 是否适用于邮寄电话。

标签: javascript node.js get


【解决方案1】:

这样做有最佳实践吗?

不是一般的

一个选项比另一个更快吗?

在服务器端执行此操作可以缓存结果并在多个客户端之间共享。这可能会更快。

在服务器端这样做可以让客户端少发出一个 HTTP 请求。这可能会更快。

在客户端执行它可以在不重新加载整个页面的情况下重做。这可能会更快。

在客户端执行此操作意味着它来自另一台计算机,该计算机可能距发出请求的服务器更近或更远。这可能会更快。

【讨论】:

    【解决方案2】:

    关于隐藏您的 API 密钥,如果您使用的是 NodeJS,无论您是从客户端还是服务器端进行调用,您都可以控制不暴露您的 API 密钥。

    关于性能,我建议在互联网上查看“客户端 VS 服务端渲染”这个主题的不同意见。有很多关于性能的文章。 This is one them。希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-09-30
      • 2018-08-31
      • 1970-01-01
      • 2020-08-16
      • 2020-08-11
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 1970-01-01
      相关资源
      最近更新 更多