一面 二面(7)之預渲染,服務端渲染和客戶端渲染

2021-10-07 21:42:59 字數 1732 閱讀 2225

服務端渲染和客戶端渲染的區別

1、首先先來了解三個專業名詞:

優點:頁面之間切換快,減少了伺服器的壓力
因為spa單頁面應用,是通過ajax獲取資料,這就難保證我們的頁面能被搜尋引擎收到,並且有一些搜尋引擎不支援js和通過ajax獲取資料。那就更不用提seo了,為了解決這個                問 題就產生了ssr。
(3)ssr服務端渲染:ssr的出現一定程度上解決了spa首屏慢的問題,又極大的減少了spa對於seo的不利影響。

更好的ssr,我們可以將seo關鍵資訊直接在後台渲染成html,從而保證了搜尋引擎可以提取到相應資料。

缺點:占用了大量的cpu和記憶體資源

2、接下來便是服務端渲染和客戶端渲染的定義與區別

服務端渲染:在早期的時候,由於頁面比較簡單,前後端分離還沒有做的比較完善,所以當時一般頁面渲染還是在服務端完成html檔案的拼裝,然後瀏覽器接收到這個檔案,就可以直接解析                            展示。

服務端渲染:如今前端頁面的複雜性提高,前端已經不再僅僅是普通的頁面展示了,現在前端頁面功能更加完善,也更加複雜。同時伴隨著ajax的興起,使得現在越來越崇尚前後端分離的開 發方式。

後端不再提供完整的html頁面,而是提供一些api使得前端可以獲取需要的json資料,然後前端拿到資料後在前端完成html頁面的拼裝,然後展示在瀏覽器上,這就是客戶端渲 染。

伺服器端渲染的優缺點是?

優點:1.前端耗時少。因為後端拼接完了html,瀏覽器只需要直接渲染出來。

2.有利於seo。因為在後端有完整的html頁面,所以爬蟲更容易爬取獲得資訊,更有利於seo。

3.無需占用客戶端資源。即解析模板的工作完全交由後端來做,客戶端只要解析標準的html頁面即可,這樣對於客戶端的資源占用更少,尤其是移動端,也可以更省電。

4.後端生成靜態化檔案。即生成快取片段,這樣就可以減少資料庫查詢浪費的時間了,且對於資料變化不大的頁面非常高效 。

缺點:1.不利於前後端分離,開發效率低。使用伺服器端渲染,則無法進行分工合作,則對於前端複雜度高的專案,不利於專案高效開發。另外,如果是伺服器端渲染,則前端一般就是寫乙個靜態html檔案,然後後端再修改為模板,這樣是非常低效的,並且還常常需要前後端共同完成修改的動作; 或者是前端直接完成html模板,然後交由後端。另外,如果後端改了模板,前端還需要根據改動的模板再調節css,這樣使得前後端聯調的時間增加。

2.占用伺服器端資源。即伺服器端完成html模板的解析,如果請求較多,會對伺服器造成一定的訪問壓力。而如果使用前端渲染,就是把這些解析的壓力分攤了前端,而這裡確實完全交給了乙個伺服器。

客戶端渲染的優缺點是?

優點:預渲染:無需伺服器實時動態編譯,採用預渲染,在構建時針對特定路由簡單的生成靜態html檔案

優點:幾乎可以獲得服務端渲染的所有優點,沒有缺點,載入應用程式的路由,將結果儲存在乙個靜態的html檔案中,無需更改**或新增伺服器端

缺點:若**有成百上千條路線,預編譯會非常的慢,雖每次更新只需要一次但會需要更長的時間

適用場景:

只需改善少數頁面的seo,可以採用預渲染

如何選擇?

1.注重seo的新聞**,非強互動的頁面,建議採用伺服器端渲染

2.對於強互動的頁面,不注重seo,採用客戶端渲染

3.只需改善少數頁面的seo,採用預渲染

服務端渲染和客戶端渲染區別?

首先,介紹一下 spa seo ssr 三者的區別 seo search engine optimization 搜尋引擎優化,利用搜尋引擎的規則提高 在有關搜尋引擎內的自然排名。我們之前說 spa 單頁面應用,通過 ajax 獲取資料,這就難保證我們的頁面能被搜尋引擎收到。並且有一些搜尋引擎不支援...

服務端渲染和客戶端渲染的對比

這裡結合art template模板引擎說明。首先了解下前端頁面中如何使用art template 1 script 標籤匯入包,當這個標籤匯入完畢後,在window全域性中就有了template 函式。2 建立乙個script標籤,內部是模板字串 3 var htmlstr template tm...

簡談服務端渲染和客戶端渲染。

服務端渲染和客戶端渲染本質都是字串拼接 服務端渲染 在客戶端發起請求後,在服務端把資料查詢的結果巢狀在html,然後把整個包發給客戶端進行渲染,這當中只會有一次請求。客戶端渲染 在客戶端發起請求後,服務端將html頁面返回,html中還有js執行檔案和css樣式檔案,在頁面返回完成時,再執行js執行...