任何人都能懂的CSR和SSR

2021-09-24 08:19:34 字數 1114 閱讀 2686

現在的web**都是非常講究使用者體驗,一般都會採用服務端渲染加客戶端渲染一起實現功能。服務端渲染有利於搜尋引擎優化(seo),利於被網頁爬蟲抓取資料,多見於電商**商品資訊獲取等。客戶端渲染不利於搜尋引擎優化,網頁資料非同步獲取,首頁載入時間長,使用者體驗相對較好,常用於不需要對seo友好的地方。

服務端渲染(ssr)

簡單理解就是瀏覽器傳送請求後,伺服器把客戶端網頁和資料在後台渲染解析,之後把渲染後的結果返回客戶端。

客戶端拿到的是渲染後的結果,可以直接展示。伺服器端渲染的頁面在網路中傳輸的時候,傳輸的是乙個真實的頁面。因此,爬蟲客戶端當爬到我們的頁面後,會分系我們給他提供的這個頁面,此時,我們頁面中的關鍵資料就會被爬蟲給收錄了。服務端渲染可以解決首頁白屏時間過久,但是也容易導致伺服器壓力大,因此,可以使用伺服器端的頁面快取技術,減輕伺服器的渲染壓力。

客戶端渲染(csr)

在當今spa框架,vue,react,angular大行天下的時候,前後端分離開發異常可見。客戶端渲染簡單理解就是瀏覽器傳送頁面請求,伺服器返回的是乙個模板頁面,瀏覽器從上至下解析過程中需要傳送ajax請求獲取資料,最後再呼叫模板引擎(art-template等)渲染html結構,並把渲染後的結果新增到頁面指定容器中。

客戶端渲染因為資料是非同步獲取,所以在展示完整頁面的過程中最少發起兩次請求,資料是動態的新增到頁面中,因此,非常不利於seo,便於前後端分離開發。現如今前端採用vue等框架開發非常多見,因此為了解決純客戶端渲染面臨的問題,很多類似vue中使用ssr和前後端同構的思想也非常常見。

如何在頁面中快速的判斷到底那些是服務端渲染,那些是客戶端渲染?

滑鼠右鍵檢視源**,在頁面中看到的內容在源**中也可以檢視到,則是服務端渲染得到的。

滑鼠右鍵檢視源**,頁面中看到的內容在源**中不可以檢視到,則是客戶端渲染得到的。

在京東上開啟乙個商品列表的頁面,右鍵檢視網頁源**,看到商品資訊都是服務端渲染的結果。

本篇文章屬於我的node.js學習的系列教程之一,學習教程會同步更新在github上,如果你覺得對你有幫助,希望可以star,你們的點讚是我繼續更新的動力。

pubdreamcc原創之 @github

執行力夠了 任何人都能夠把SEO做好

要想把seo做好,強大的執行力是必不可少的。就好像我們做外鏈,如果你不去發外鏈,不主動去找外鏈的話,你的 的外鏈數量是不可能上去的。每次我做乙個新 的時候都會給自己定乙個目標,就好像我之前開的乙個ynypj部落格一樣,剛剛開通的時候要求自己每天都寫一篇原創文章上去,結果堅持不到乙個月,就堅持不下去了...

閉嘴!不容辱罵任何人的母親

這個故事則發生在乙個犯人同母親之間。探監的日子,一位來自貧困山區的老母親,經過乘坐驢車,汽車和火車的輾轉,探望服刑的兒子。在探監人五光十色的物品中,老母親給兒子掏出用白布包著的葵花子。葵花子已經抄熟,老母親嗑好了。沒有皮,白花花的像密 密麻麻的雀舌頭。服刑的兒子接過這堆葵花子肉,手開始抖。母親亦無言...

別讓任何人偷走您的夢

美國某個小學的作文課上,老師給小朋友的作文題目是 我的志願 寫好的作文經老師過目,這位小朋友的簿子上被劃了乙個大大的紅 x 發回到他手上,老師要求他重寫。小朋友仔細看了看自己所寫的內容,並無錯誤,便拿著作文簿去請教老師。老師告訴他 我要你們寫下自己的志願,而不是這些如夢囈般的空想,我要實際的志願,而...