服務器端渲染定義:服務器端呈現(xiàn)是指應用程序在服務器上顯示網(wǎng)頁而不是在瀏覽器中呈現(xiàn)網(wǎng)頁的能力。當網(wǎng)站的 JavaScript 在網(wǎng)站的服務器上呈現(xiàn)時,完整呈現(xiàn)的頁面會發(fā)送到客戶端,并且客戶端的 JavaScript 包會參與并啟用單頁應用程序框架來運行。
常見問題
一、什么是服務器端渲染?
服務器端呈現(xiàn) (SSR) 是應用程序?qū)⒎掌魃系?HTML 文件轉(zhuǎn)換為客戶端完全呈現(xiàn)的 HTML 頁面的能力。Web 瀏覽器向服務器提交信息請求,服務器通過向客戶端發(fā)送完全呈現(xiàn)的頁面來立即做出響應。搜索引擎可以在交付之前對內(nèi)容進行爬網(wǎng)和索引,這有利于搜索引擎優(yōu)化目的。
服務器端渲染 JavaScript 框架的流行示例包括:Angular 服務器端渲染、ejs 服務器端渲染、Express 服務器端渲染、Gatsby 服務器端渲染、Google 服務器端渲染、NestJS 服務器端渲染、Next 服務器端渲染、Nuxt 服務器端渲染、React 服務端渲染和 Vue 服務端渲染。
二、服務器端渲染的好處是什么?
一些服務器端渲染優(yōu)勢包括:
- 服務器端呈現(xiàn)的應用程序使頁面加載速度更快,從而改善用戶體驗。
- 在服務端渲染時,搜索引擎可以輕松索引和抓取內(nèi)容,因為內(nèi)容可以在頁面加載之前進行渲染,非常適合 SEO。
- 網(wǎng)頁被正確索引,因為網(wǎng)絡瀏覽器優(yōu)先考慮加載時間更快的網(wǎng)頁。
- 渲染服務器端有助于為互聯(lián)網(wǎng)連接緩慢或設備過時的用戶有效加載網(wǎng)頁。
三、服務器端渲染的風險是什么?
服務器端渲染的缺點可能包括:
- 服務器端渲染可能成本高昂且資源密集,因為它不是 JavaScript 網(wǎng)站的默認設置,并且服務器承擔了為用戶和機器人渲染內(nèi)容的全部負擔。
- 雖然在服務器端渲染靜態(tài) HTML 是高效的,但在服務器端渲染更大、更復雜的應用程序可能會由于瓶頸而增加加載時間。
- 服務器端呈現(xiàn)可能與第三方 JavaScript 代碼不兼容。
- 渲染服務器端可能是靜態(tài)站點生成的理想選擇,但頻繁的服務器請求和整頁重新加載可能會導致更復雜的應用程序中的整體頁面渲染速度變慢。
服務器端渲染與客戶端渲染
在客戶端-服務器呈現(xiàn)中,不是從 HTML 文檔接收所有內(nèi)容,而是使用客戶端 JavaScript 庫在瀏覽器中呈現(xiàn)內(nèi)容。加載新頁面時,瀏覽器不會向服務器發(fā)出新請求。搜索引擎排名可能會受到負面影響,因為在頁面加載到瀏覽器之前不會呈現(xiàn)內(nèi)容,但是,在客戶端呈現(xiàn)的應用程序中,網(wǎng)站呈現(xiàn)往往更快。在考慮服務器端與客戶端渲染時,開發(fā)人員將評估項目規(guī)模、應用程序的復雜性、用戶數(shù)量和用戶體驗優(yōu)先級等因素。