什么东西会更贵?从前端传递额外参数或在后端处理 'few' 参数?

What will be more expensive? Passing additional parameters from the frontend or processing 'few' parameters at the Backend?

我需要一些洞察力来评估类似任务的前端和后端操作的费用。

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

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

考虑到效率,我应该更喜欢哪一个?从前端传递附加参数还是在后端处理它们以生成单复数形式?此外,对于上述类似用例,通常首选哪种方法?

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

As per my understanding pass as few parameters as possible from frontend and do most of the heavy lifting at the backend.

不一定,你应该计划好后端必须处理的内容和front-end应该做的事情。在某些情况下,大多数 heavy-lifting 都会传递给客户端,因为他们的计算机并没有真正努力地呈现传统网页。另一个要考虑的因素是必须隐藏什么你不希望前端有公司秘密算法。这个 JSON 查找是一项微不足道的任务,它会给服务器带来很小的压力,所以正如 @Carr 在此处的评论中提到的那样,很明显,这本字典可能会增长到 1,000 带宽是一个更重要的问题。

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

一般来说,大部分非机密的处理工作都可以交给客户端,这将使服务器保持高效并保持较低的运营成本,但常识再次适用于此,您不能将太多的任务交给客户端来处理他们的风扇开始发出像拖拉机一样的噪音。