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