Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js-从服务器端还是客户端获取?_Javascript_Node.js_Api_Fetch_Fetch Api - Fatal编程技术网

Javascript Node.js-从服务器端还是客户端获取?

Javascript Node.js-从服务器端还是客户端获取?,javascript,node.js,api,fetch,fetch-api,Javascript,Node.js,Api,Fetch,Fetch Api,让我看看能不能解释清楚 我正在制作一个网站,用户可以保存一些信息(在本例中是电影信息) 我从第三方api(电影数据库)获取所有电影数据 所以我想知道这些场景中哪一个是最佳性能方面的 将空视图发送到我的客户端,让javascript从TMD获取电影 页面加载API并将其呈现到页面上 从TMDAPI获取数据,将其呈现到我的视图中并发送到客户端 我假设第一个场景对我来说是最好的,因为在我将视图发送给用户之前,我不需要获取任何额外的数据(这种方式也不需要使用太多的带宽) 但是,我觉得第二种情况使我能够更

让我看看能不能解释清楚

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

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

所以我想知道这些场景中哪一个是最佳性能方面的

  • 将空视图发送到我的客户端,让javascript从TMD获取电影 页面加载API并将其呈现到页面上

  • 从TMDAPI获取数据,将其呈现到我的视图中并发送到客户端

  • 我假设第一个场景对我来说是最好的,因为在我将视图发送给用户之前,我不需要获取任何额外的数据(这种方式也不需要使用太多的带宽)

    但是,我觉得第二种情况使我能够更轻松地按照自己喜欢的方式操作数据,并且只需要较少的代码,因为我可以在发送数据之前将数据渲染到视图中(这样,我将不得不使用更多的带宽,因为我必须先获取一些数据,从而向我的客户发送更多数据?)

    每种方法的优点:

    服务器端渲染 1) 必须向客户端发送的数据减少(过滤)

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

    3) 客户端的代码更少

    客户端获取和呈现 1) 动态内容,无需重新加载(您只需获取更多数据)

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

    每种方法的优点:

    服务器端渲染 1) 必须向客户端发送的数据减少(过滤)

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

    3) 客户端的代码更少

    客户端获取和呈现 1) 动态内容,无需重新加载(您只需获取更多数据)


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

    正如您已经阐述的,每种方法都有优点和缺点

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


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

    正如您已经阐述的,每种方法都有利弊

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


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

    如果您不关心向用户公开电影API,我认为这只是一个偏好问题。性能方面-对于您或您的用户?询问第三方他们希望您的应用程序如何访问其API。它们也有成本。如果您不关心向用户公开电影API,我认为这只是一个偏好问题。性能方面-对您或您的用户而言?询问第三方他们希望您的应用程序如何访问其API。它们也有成本。我从来没有想过缓存,这听起来是最好的方式。你能告诉我一些缓存教程的正确方向吗?如果有什么不同,我会用Express作为我的application@jakeTheDane我从来没有想过缓存,这听起来是最好的方式。你能告诉我一些缓存教程的正确方向吗?如果有什么不同,我会用Express作为我的application@jakeTheDane