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