我很习惯SSR的方式,即页面会从服务器接收完整的HTML并进行渲染,这取决于后端堆栈使用的是razor/pub/其他技术。因此,每当用户单击导航链接时,它只需向服务器发送请求,整个页面就会刷新,接收新的HTML。这就是我所了解的传统SSR。
然而,在SPA中,我们比如使用react或angular,开始时几乎获得空白HTML,然后获得JS,以便在客户端上初始化整个应用程序。然后,我们可以使用一些REST API获取JSON数据并在前端呈现视图(客户端路由和呈现),而无需进行任何页面刷新。实际上,我们甚至不需要任何服务器。
现在,我的问题在于理解SSR(例如next.js)如何与react一起工作。
根据我阅读的内容,第一个请求返回完整的HTML+CSS(这有助于SEO等-我明白了),但是之后会发生什么?在首次/初始请求之后会发生什么?整个react应用程序是否在浏览器中初始化,然后它就像普通的SPA一样行为(这意味着我们从现在开始具有客户端路由和呈现,无需向该服务器发出任何请求)?换句话说,next.js在初始请求后是否仍会进行任何服务器请求,或者像使用CRA的典型SPA一样运作?
我花了很多时间阅读文章,但所有的文章主要都集中在初始请求、SEO、TTFB、首屏渲染等方面,而我只想理解为什么它被称为SSR,因为它似乎与我在一开始描述的传统SSR工作方式不同。