Node.js - 从服务器端或客户端获取?
Node.js - Fetch from server or client side?
让我看看我能否正确解释这个问题。
我正在制作一个网站,用户可以在其中保存一些信息(在本例中为电影信息)。
我正在从第三方 api(电影数据库)获取所有电影数据。
所以我想知道这些场景中哪些场景的性能最好?
向我的客户发送空视图并让 javascript 从 TMD 获取电影
API 在页面加载并将它们呈现到页面上?
从TMD中获取数据API渲染到我的视图中并发送给客户端?
我认为第一种情况对我来说是最好的,因为在将我的视图发送给我的用户之前我不需要获取任何额外的数据(而且这种方式也不会占用太多带宽)。
但是我觉得第二种情况使我可以更轻松地按照我喜欢的方式操作数据并使用更少的代码来处理它,因为我可以在发送之前将其渲染到视图上(这样我会使用更多带宽,因为我必须先获取一些数据,然后再向我的客户端发送更多数据?)。
每个人的好处:
服务器端渲染
1) 更少的数据必须发送到客户端(过滤)
2) API 请求可以被缓存,这在有请求限制或必须完成大量计算时特别有用
3) 客户端代码更少
客户端抓取和渲染
1) 无需重新加载的动态内容(您可以获取更多数据)
2) 您不需要真正的服务器。像 NGINX 这样的静态文件服务器就足够了,不需要在服务器端编程。
正如您已经阐明的那样,每种方法都各有利弊。
通常,如果 API 凭据无法安全地制作 public,或者如果您要向许多客户端提供相同的内容并想要采取行动,您通常会使用服务器端请求作为缓存以减少第三方的负载 API。在将数据提供给客户端之前,您还可以对要处理的数据执行此操作,尤其是以专有方式,尽管这更明显一些。
相反,当 API 请求会根据用户输入或客户端状态(例如 cookie,例如来自 API 的对社交媒体的请求而变化时,在客户端获取数据更为常见登录用户)。这样做的缺点是您往往会向第三方 API 发出更多请求,并且您可能最终会耗尽限速 API,从而导致客户端延迟。
让我看看我能否正确解释这个问题。
我正在制作一个网站,用户可以在其中保存一些信息(在本例中为电影信息)。
我正在从第三方 api(电影数据库)获取所有电影数据。
所以我想知道这些场景中哪些场景的性能最好?
向我的客户发送空视图并让 javascript 从 TMD 获取电影 API 在页面加载并将它们呈现到页面上?
从TMD中获取数据API渲染到我的视图中并发送给客户端?
我认为第一种情况对我来说是最好的,因为在将我的视图发送给我的用户之前我不需要获取任何额外的数据(而且这种方式也不会占用太多带宽)。
但是我觉得第二种情况使我可以更轻松地按照我喜欢的方式操作数据并使用更少的代码来处理它,因为我可以在发送之前将其渲染到视图上(这样我会使用更多带宽,因为我必须先获取一些数据,然后再向我的客户端发送更多数据?)。
每个人的好处:
服务器端渲染
1) 更少的数据必须发送到客户端(过滤)
2) API 请求可以被缓存,这在有请求限制或必须完成大量计算时特别有用
3) 客户端代码更少
客户端抓取和渲染
1) 无需重新加载的动态内容(您可以获取更多数据)
2) 您不需要真正的服务器。像 NGINX 这样的静态文件服务器就足够了,不需要在服务器端编程。
正如您已经阐明的那样,每种方法都各有利弊。
通常,如果 API 凭据无法安全地制作 public,或者如果您要向许多客户端提供相同的内容并想要采取行动,您通常会使用服务器端请求作为缓存以减少第三方的负载 API。在将数据提供给客户端之前,您还可以对要处理的数据执行此操作,尤其是以专有方式,尽管这更明显一些。
相反,当 API 请求会根据用户输入或客户端状态(例如 cookie,例如来自 API 的对社交媒体的请求而变化时,在客户端获取数据更为常见登录用户)。这样做的缺点是您往往会向第三方 API 发出更多请求,并且您可能最终会耗尽限速 API,从而导致客户端延迟。