频繁的外部API调用应该从前端还是后端进行?

use*_*428 5 javascript spotify

我正在构建一个经常使用 Spotify API(用于搜索、获取用户数据等)的 React/Node.js Web 应用程序。我想知道是否应该直接从前端向 Spotify API 发出请求,或者调用我自己的后端将处理 Spotify API 请求。

我的想法:

前端调用外部API:

  • 由于前端代码较多(例如在 useEffect 挂钩内发出 3 个 Spotify API 请求),因此用户体验可能会变慢。
  • 潜在的安全问题?Spotify API 要求所有请求都包含 access_token 标头。

后端调用外部API:

  • 由于到后端的额外往返,用户体验也可能会变慢。
  • 对我自己的后端提出不必要的请求(更高的成本、云账单等)。

如有任何建议,我们将不胜感激。

Pat*_*ski 6

永远不应该信任前端的外部 API。这在很多层面上都是一种风险——上面提到的access_token是一个很好的例子,说明什么可能会给你带来麻烦。最重要的是,您无法控制用户看到的内容,API 可能会发生变化,从而暴露您的个人详细信息。

我们不要忘记 CORS 标头,外部 API 通常不允许您为您的域设置它们,这意味着您无论如何都必须通过服务器代理响应。