javascript - 从服务器端还是客户端获取?

标签 javascript node.js fetch-api

让我看看是否可以正确解释这一点。

我正在制作一个网站,用户可以在其中保存一些信息(在本例中为电影信息)。

我从第三方 API(电影数据库)获取所有电影数据。

所以我想知道这两种情况中哪一种性能最佳?

  1. 向我的客户端发送空 View 并让 JavaScript 从 TMD 获取电影; 页面加载 API 并将其呈现到页面上?

  2. 从 TMD API 获取数据并将其渲染到我的 View 中并将其发送给客户端?

我认为第一个场景对我来说是最好的,因为在将 View 发送给用户之前我不必获取任何额外的数据(而且这种方式也不会使用太多的带宽)。

但是,我觉得第二种情况使我可以更轻松地按照自己喜欢的方式操作数据,并希望用更少的代码获得数据,因为我可以在发送数据之前将其渲染到 View 上(这样我就必须使用更多带宽,因为我必须先获取一些数据,从而向我的客户端发送更多数据?)。

最佳答案

正如您已经阐明的那样,每种方法都有优点和缺点。

通常,如果 API 凭据不能安全公开,或者您要向许多客户端提供相同的内容并希望充当缓存以减少第三方 API 的负载,您会使用服务器端请求。在将数据提供给客户端之前,您也可以对想要处理的数据执行此操作,特别是以专有方式处理,尽管这更明显一些。

相反,当 API 请求根据用户输入或客户端状态(例如 Cookie,例如登录用户对社交媒体 API 的请求)而变化时,在客户端获取数据更为常见。这样做的缺点是,您往往会向第三方 API 发出更多请求,最终可能会耗尽速率受限的 API,从而导致客户端延迟。

关于javascript - 从服务器端还是客户端获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52804371/

相关文章:

json - 如何在 React Native 中 fetch 后才将 JSON 数据打印到控制台?

typescript - 使用 SolidJS 中的 fetch API 渲染远程数据

javascript - 在 Highcharts 漏斗可视化的左侧或右侧添加标签

javascript - 仅淡入;不淡出 - 纯 Javascript

javascript - 制作一个像 VS Code 一样的水平控制台窗口

node.js - 我的 docker 容器在哪个端口上运行着 React 应用程序? Reacts 的默认 PORT 或来自 Dockerfile 的 EXPOSE?

javascript - 使用数据库驱动图表的 JSON 获取图表值 (highchart.js)

java - 是否有可能(以及如何)改变 G-WAN 处理请求的方式?

node.js - Node.js 中的 Newbey 等待方式。为什么它不起作用?

javascript - 获取提供旧数据的变量