backbone.js 为什么单页面应用程序通常在每个页面上需要发出更多请求,但速度却更快?

dfty9e19  于 2022-11-10  发布在  其他
关注(0)|答案(3)|浏览(107)

单页应用程序(SPA)通常需要发出多个请求才能获取页面上不同部分的数据,那么单页应用程序(SPAs)如何才能更快呢?与呈现服务器端相反,在呈现服务器端,浏览器只需要发出一个请求就能获取整个页面?
我还记得在什么地方阅读到过,打开/关闭Web请求有时是Web请求中的瓶颈。
那么,为什么一种在每个页面上发出更多请求的方法应该使网站更快呢?

ccrfmcuu

ccrfmcuu1#

因为你只装你需要的东西。
例如,在“普通”网页上,菜单、侧边栏等必须在每个页面上重新呈现,但使用SPA时,仅更改内容。
另外,想一想这个例子:一个在首页显示100,000条信息的网站(带有图片)。在传统情况下,加载页面需要很长时间,但使用SPA时,您只需加载“第一个屏幕”(即用户可以看到的内容),并在向下滚动时加载其余内容。
换句话说,SPA并不神奇:这使得用户的响应时间更短(即,他们可以更快地“使用”新联系人)。

0mkxixxg

0mkxixxg2#

如果做得好,它们会更快,因为:

  • 服务器工作负载的一部分会转移到客户端。
  • 在任何给定的时间,只加载所需的页面片段。
  • 减少了冗余的模板代码。一个模板可以为许多项目设置样式,而不是必须一次为整个页面输出大量HTML。

它们还有助于延迟加载和在空闲时间下载新数据,以及并行性:元素的并发下载。

kxeu7u2r

kxeu7u2r3#

通常,SPA是使用惰性模式方法构建的:只有在需要时才能获取信息。
此外,通常进出SPA的数据采用的格式(例如json)只关注数据。表示层是SPA关注的问题,所有需要的资产都应该已经加载。
因此,它们通常更快,更易于维护。
但情况并非总是如此。

相关问题