我一直在阅读关于SPA与SSR的文章,可能我理解了它们的实质,但也可能没有。我很希望有经验的人可以告诉我我的假设是否正确。
观察1)
SPA - 客户端请求www.example.com,该请求从浏览器发送到服务器。服务器返回index.html,其中只有<div id="app"></div>
和javascript文件的脚本源代码。浏览器再次请求捆绑的js文件,服务器将其返回。然后返回的js文件开始执行。当编译完成后,页面就会显示给用户。
SSR - 客户端从浏览器请求www.example.com。服务器完成所有操作,进行任何api调用或其他操作,将所有内容放入html中并返回html。如果这些html具有某些样式或其他js来源,则浏览器将请求这些内容。
我的看法 - 为什么SSR更快?是因为在SPA情况下,需要下载整个网站的js文件吗?而在SSR情况下,只返回用户正在输入的特定页面的内容?
观察2)
SPA - 如果页面已加载,并且用户单击其他路由之一,它不会向服务器发出任何请求以获取HTML以向用户显示它。所有路由的js文件都已下载,因此无需向服务器发出请求,除非需要针对数据库进行某些动态数据的Ajax调用。
SSR - 这将再次向服务器发送请求以获取新页面的html文件。
我的看法 - 在这种情况下,SPA更快,即使SPA仍然需要为某些数据进行ajax请求。 Ajax请求某些数据似乎比请求下载新呈现的html更快,后者还需要在服务器上进行ajax调用。
我知道SSR对于SEO很有好处,但我只关心性能。你认为我的说法是否正确?