代码之家  ›  专栏  ›  技术社区  ›  Shwetabh Shekhar

什么会更贵?从前端传递其他参数,还是在后端处理“少数”参数?

  •  2
  • Shwetabh Shekhar  · 技术社区  · 8 年前

    我需要了解评估类似任务的前端和后端操作的费用。

    在我的angular控制器中,我正在创建一个JSON,它将有大约20个键。 示例: {'A':'allergy','B':'dog' ...and so on} 然后将此JSON传递给abc。处理它的js(写在节点中)。

    我需要生成JSON中传递的键的单数和复数形式。我可以在我的控制器中修改JSON,就像这样。 {'A':{'name':'allergy', 'singular':'Allergy', 'plural':'Allergies'},'B':{name:'dog', 'singular':'Dog', 'plural':'Dogs'} ...and so on } 我还可以在后端处理原始的20个参数,以获得单数和复数形式。在后端生成复数将涉及很少的字符串操作。

    考虑到效率,我应该选择哪一个?从前端传递其他参数或在后端处理这些参数以生成单数和复数形式?此外,对于上述类似用例,通常首选哪种方法?

    根据我的理解,从前端传递尽可能少的参数,并在后端完成大部分繁重的工作。

    1 回复  |  直到 8 年前
        1
  •  3
  •   oldink    8 年前

    根据我的理解,从前端传递尽可能少的参数,并在后端完成大部分繁重的工作。

    不完全是这样,您应该计划在后端需要处理什么,在前端应该做什么。在某些情况下,大部分繁重的工作都会传递给客户机,因为他们的计算机并没有很好地渲染传统的网页。另一个需要考虑的因素是必须隐藏的内容—您不希望公司的秘密算法出现在前端。JSON查找是一项微不足道的任务,它对服务器的压力很小,因此@Carr在这里的评论中提到了这一点,因为很明显,这本字典可能会增长到1000带宽,这是一个更重要的问题。

    此外,正如t.niese所提到的,它还取决于安全性和可靠性。例如,如果您仅在客户端上评估密码是否符合安全标准,则有人可以轻松地剥离该层并绕过您的标准。

    一般来说,大多数非保密的处理工作都可以交给客户端,这将使服务器效率更高,并保持较低的操作成本,但常识同样适用于此,您不能给客户端太多的处理时间,以至于他们的风扇开始发出拖拉机般的噪音。

    推荐文章