Node.js-从服务器或客户端获取?

时间:2018-10-14 15:44:12

标签: javascript node.js api fetch fetch-api

让我看看我能否正确解释这一点。

我正在建立一个网站,用户可以在其中保存一些信息(在这种情况下为电影信息)。

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

所以我想知道哪种方案是最佳性能选择?

  1. 将空视图发送给我的客户端,并使用JavaScript从TMD中获取电影 页面上的API是否加载并呈现到页面上?

  2. 从TMD API获取数据会将其呈现到我的视图中并发送给客户端?

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

但是,我觉得第二种情况使我可以更轻松地按所需方式操作数据,并希望使用更少的代码,因为我可以在发送数据之前将其呈现到视图上(这种方式我必须使用更多带宽,因为我必须先获取一些数据,然后再向我的客户端发送更多数据?)。

2 个答案:

答案 0 :(得分:1)

每种的优点:

服务器端渲染

1)更少的数据发送到客户端(过滤)

2)可以缓存API请求,在存在请求限制或必须进行大量计算的情况下特别有用

3)减少客户端代码

客户端获取和呈现

1)动态内容,无需重新加载(您可以获取更多数据)

2)您不需要真正的服务器。像NGINX这样的静态文件服务器就足够了,不需要在服务器端进行编程。

答案 1 :(得分:1)

正如您已经阐明的那样,每种方法都各有利弊。

通常,如果API凭据不安全地公开,或者如果您要将相同的内容提供给许多客户端,并且希望充当缓存来减少第三者的负载,则可以使用服务器端请求派对API。在将数据提供给客户之前,您还应该对要处理的数据进行处理,特别是以专有的方式进行处理,尽管这更为明显。

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