【问题标题】:Processing data server-side vs client-side处理数据服务器端与客户端
【发布时间】:2023-12-07 06:07:01
【问题描述】:

我正在使用 PHP 从 yahoo 中提取财务数据。然后我以 JSON 格式发送数据 到我的一个 Typepad 博客并使用 JavaScript 接收它。

在服务器端处理数据是否更快,然后将 JSON 子集发送到 JavaScript。还是发送整个内容,然后在客户端使用 JavaScript 处理它会更好?

我如何学习如何自己进行这种权衡分析?

【问题讨论】:

    标签: php javascript client-side server-side


    【解决方案1】:

    主要是很好的估计。将大量数据发送给客户端进行处理会产生客户端开销,并使他们的浏览体验难以接受。处理数据服务器端会增加每个客户端的服务器负载。

    这是可排序或分页的大型数据表的常见情况。您可以完全在浏览器中执行此操作,也可以启用服务器端排序和分页。我的经验法则是,如果我有超过 10k 个单元格(10 列 x 1000 行),那么我可能应该启用服务器端处理,而不是将其留给客户端。在具有 shitty 慢 JavaScript 引擎的旧机器上尤其如此。

    【讨论】:

    • 我没有接近这么多的数据量,我主要担心的是页面加载速度尽可能快。根据答案二,我倾向于服务器端处理。感谢您的回复:)
    【解决方案2】:

    我认为可以安全地假设我的客户将拥有最糟糕的计算机,而让他们进行处理并不是我真正想要的。所以我主要做服务器端处理——除非它是非常基本的东西,比如简单的排序等。

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

    【讨论】:

    • 假设糟糕的计算机和缺乏 JavaScript 真的很好。谢谢/
    【解决方案3】:

    嗯,这取决于。 如果您在服务器端处理数据,则必须等待 Yahoo! 的返回。然后输出生成的 JSON 和 HTML 页面。

    如果您在客户端处理数据(即使用 javascript 发出请求),您将加载页面,并且可以向用户提供某种通知,表明数据正在加载。

    关于哪个会更快 - 最好运行一些测试。这是最好的观看方式:)

    【讨论】: