服務(wù)端渲染與客戶端渲染
-
服務(wù)端渲染
說白了,就是在服務(wù)端使用模板引擎
末班引擎最早誕生于服務(wù)端,后來才到了前端 -
服務(wù)端和客戶端渲染的區(qū)別是什么
客戶端渲染
- 瀏覽器發(fā)請求,拿數(shù)據(jù),模板引擎渲染,得到頁面響應(yīng)給瀏覽器頁面中的字符串
- 瀏覽器收到服務(wù)端響應(yīng)的頁面字符串,從上到下一次解析html,解析過程中,如果發(fā)現(xiàn)有script標(biāo)簽就會(huì)執(zhí)行腳本,如果發(fā)現(xiàn)ajax請求,則再次發(fā)起新的請求,最后在做模板引擎渲染
- 第一次請求拿到頁面
- 第二次請求拿到動(dòng)態(tài)數(shù)據(jù)
服務(wù)端渲染
- 服務(wù)端有頁面和數(shù)據(jù),服務(wù)端都提供
- 給瀏覽器響應(yīng)頁面的時(shí)候,服務(wù)端已經(jīng)渲染完成整個(gè)頁面,所以瀏覽器只管展示就可以了
總結(jié): 其實(shí)很清楚,服務(wù)端渲染更快,因?yàn)榉?wù)端所有事情全都做了,一次性給瀏覽器,瀏覽器不需要做什么,但是服務(wù)端也會(huì)造成壓力
小技巧:有個(gè)小技巧可以快速知道是服務(wù)端渲染還是客戶端渲染,就是打開網(wǎng)頁查看源代碼,如果源代碼中可以搜索到頁面的內(nèi)容,那就是服務(wù)端渲染,如果是客戶端渲染則是異步的渲染,不刷新頁面而且查看源代碼搜不到展示出來的內(nèi)容.
還有個(gè)重點(diǎn)哦,異步渲染很難被爬蟲抓取到的,所以客戶端渲染很難被爬蟲抓取到,這也就是大家說的客戶端渲染SEO會(huì)有影響
所以很多網(wǎng)站等等都是客戶端和服務(wù)端渲染結(jié)合來做的,服務(wù)端渲染為了SEO搜索引擎優(yōu)化,而不需要考慮SEO的為了提高用戶體驗(yàn),所以采用客戶端渲染
所以沒有絕對哦,一般一個(gè)網(wǎng)站是客戶端服務(wù)端渲染的結(jié)合版哦