【问题标题】:Front End vs Back-End processing前端与后端处理
【发布时间】:2020-01-30 06:09:43
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: node.js reactjs architecture api-design


    【解决方案1】:

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

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

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

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

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

    这个链接告诉你differences between server-side and client-side programming

    【讨论】:

      猜你喜欢
      • 2017-05-16
      • 1970-01-01
      • 2011-05-02
      • 2020-01-01
      • 2019-12-11
      • 1970-01-01
      • 2021-12-10
      • 2017-12-23
      • 2016-02-05
      相关资源
      最近更新 更多