首页 > 解决方案 > 前端与后端处理

问题描述

我正在摄取一个 React-NodeJS 堆栈的代码库。我试图掌握的概念之一是关于后端 API 及其处理客户端的方式。

代码库本质上是通过 API 调用从 MongoDB 中转储整个集合,然后使用 React 进行大量解析和客户端逻辑以呈现自定义视图。这里的 HTTP 响应非常大,并且只会随着数据添加到数据库而变得更大。

与在 NodeJS 中创建多个端点并利用 Mongoose 之类的东西将过滤后的数据返回给客户端相比,这种方法是否有任何优点/缺点,从而使渲染变得容易并且响应更小。

要考虑的事情可能是资源消耗,如果在云中如何计费,SPA 的影响等。

希望我在这结束时能更清楚一些吗?

标签: node.jsreactjsarchitectureapi-design

解决方案


客户端处理是最好的,因为您知道我们的服务器端资源是免费的并且可以轻松处理请求。但是将大量数据发送到客户端进行处理会产生客户端开销并使其浏览体验不太可接受,数据安全性可能是受到损害,或者网络可能不堪重负并消耗带宽。处理数据服务器端将增加每个客户端的服务器负载。

所以为了避免这些问题,最好先将这些冲突中的一些交给数据库处理的一侧(带有过滤和特殊条件),然后使用不发送客户端的命令和编码过滤服务器端处理的安全数据.

但是让我们在客户端机器上进行繁重的处理。当然,SPA 还有其他好处。

所以我主要做服务器端处理——除非它是非常基本的东西,比如简单的排序等。

此外,不要假设 JavaScript 已启用。您必须优雅地后退,这将需要服务器无论如何都要进行处理。

这个链接告诉你服务器端和客户端编程之间的区别


推荐阅读