【发布时间】:2017-06-01 01:17:19
【问题描述】:
所以我了解后端和前端之间的区别,但是我应该将哪种类型的操作留给后端。例如,如果我在 Express 中使用 Node.js,我应该如何决定应该在客户端还是服务器端进行哪些操作/计算?
提前致谢!
【问题讨论】:
标签: node.js express frontend backend server-side
所以我了解后端和前端之间的区别,但是我应该将哪种类型的操作留给后端。例如,如果我在 Express 中使用 Node.js,我应该如何决定应该在客户端还是服务器端进行哪些操作/计算?
提前致谢!
【问题讨论】:
标签: node.js express frontend backend server-side
首先,您必须在后端执行一系列操作:
代表用户使用任何浏览器的持久存储。这将包括他们的帐户、代表该用户的任何状态/设置以及该用户的任何数据。
任何需要保密的算法或代码。任何人都可以看到所有客户端代码。服务器代码可以保密。
一些安全操作。
客户端不一定要做的事情,例如联系任意外部主机以获取一些数据。
在存储或操作之前验证从客户端发送的所有数据。客户端不可信,因此所有传入数据都需要检查/验证。
创建帐户并验证用户登录。
然后,在客户端中通常会更容易做一些事情:
在执行某些不可逆转的操作(可能删除某些数据)之前处理简单的用户交互,例如提示配置。
在用户继续执行某些任务(例如填写表格或自动完成某些条目)时向他们提供反馈。
然后,有一些事情可以在任何一个地方完成,将它们放在服务器或客户端上是否合适或多或少取决于您的特定应用程序、您的一般架构等......而且,它们甚至可以在这两个地方进行。
渲染 HTML 模板。可以在后端或前端完成,实际上可以在前端完成以供普通用户查看,在后端完成以供搜索引擎查看。
数据验证和用户反馈。
从客户端向服务器发送 Ajax 调用以处理某些操作,然后更新客户端中的视图以显示该操作的结果,而无需重新加载页面。例如,从 Gmail 中删除电子邮件。这是前后端代码的组合,实现一个操作。
我应该如何决定我应该在客户端还是服务器端进行哪些操作/计算?
这是一个很难抽象地回答的问题。正如我上面所说,有些事情必须在服务器或客户端上,但其他事情可以通过多种方式完成。如果您描述了您的应用程序,然后在您的应用程序中列出您试图决定在哪里实现它们的 5 种不同功能,那就更好了。然后,我们可以根据您的应用和设计来回答具体功能。
【讨论】: