性能基准:PHP生成的内容VSJavaScript和DOM over AJAX

问题描述

在回答这个问题时,我提出了几点:

  • 。在这种情况下,您知道应该显示产品列表。应该在页面加载时显示问题答案的事实。

  • 。例如,当您单击Stack Overflow上一个问题或答案下的“评论”链接时。您想查看特定问题的评论的事实在页面加载时是未知的。

  • 。例如,在禁用Javascript的情况下,Stack Overflow可以正常工作。您无权访问Markdown实时预览或动态徽标通知,但核心功能仍然完整。

  • ,尤其是在高延迟连接(例如蜂窝网络)上。请参阅Yahoo 的 。

您应该将Javascript视为可能无法启用的附加功能,而不是应用于构建网站关键部分的功能。此规则有例外。如果要进行某种分页,单击“下一页”按钮,而只更改产品列表,则AJAX可能是正确的选择。但是,您应该确保不使用Javascript的用户不会被排除在查看整个列表之外。

。例如,以Friendly’s Restaurants为例。我想在购物中心时查看他们的菜单,所以我在iPhone上加载了他们的网站,却发现如果没有Flash,您实际上无法获得有关餐厅的任何有意义的信息。到处都是花哨的菜单,到处都是飞扬的甜点,但是最后,我只想看看菜单上的项目。我不能这样做,因为他们需要Flash。在这种情况下,服务的平稳降级将是有帮助的。

没有Java脚本,网络上的某些事情将无法有效完成。显示产品列表 不是 其中之一。如果您仍然不确定,请查看其他热门网站的工作方式。我认为您会发现大多数成功且设计精良的网站都遵循上述指南。

解决方法

对于以下非常简单的任务: 从数据库查询产品列表并将其显示在网页上,请 考虑2种设置:

Setup1 :PHP脚本查询。所有内容都建立在服务器上,并且整个页面都返回给客户端。

Setup2
:使用AJAX请求内容的静态HTML“页面框架”。接收到的内容使用Javascript在客户端进行解析,并使用innerHTML或类似内容呈现。

当然,只有当您有可供客户选择的页面,类别和标签时,第二种设置才有意义。

我需要至少通过以下方式 比较 这两个:

  • 内容需要花费的时间
  • 用户体验(setup1整体交付,setup2分为“两部分”交付)
  • 可扩展性-每天有100,000个查询时,设置如何进行比较

任何对此问题的想法将不胜感激。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...