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

這裏結合art-template模板引擎說明。

首先了解下前端頁面中如何使用art-template

1、script 標籤導入包,當這個標籤導入完畢後,在window全局中就有了template 函數。

2、創建一個script標籤,內部是模板字符串

<script type="text/template" id="tmpl">

3、 var htmlStr = template('tmpl',{要渲染的數據對象})

4、將創建好的HTML字符串,追加到頁面中即可

 

重點來啦!

1、服務器端渲染

     每當有客戶端請求頁面了,服務器先在後端調用art-template,把指定的頁面預先在後端渲染後,然後通過res.end把這個渲染完畢的完整頁面,

返回給客戶端直接展示。

 優點:對SEO友好,因爲我們經過服務器端渲染的頁面,在網絡中傳輸的時候,傳輸的是一個真實的頁面。因此,爬蟲客戶端,當爬到我們的頁面後,

會分系我們給他提供的這個頁面,此時,我們頁面中的關鍵數據就會被爬蟲給收錄了。

缺點: 服務器端渲染,對服務器壓力比較打,可以使用服務器端的頁面緩存技術,減輕服務器的渲染壓力;不適合前後端分離開發。

 

2、客戶端渲染

     每當用戶要請求某個頁面了,

 第一步,用戶需要先把這個頁面請求到客戶端,此時用戶拿到的頁面只是一個模板頁面。

 第二步,瀏覽器在解析模板頁面的時候,會發起art-template的二次資源請求,同時要發送Ajax請求,去服務器獲取數據

 第三步,在客戶端調用art-template 渲染HTML結構,並把渲染厚的htmlStr append 到頁面指定的容器中;

缺點: 對SEO相當不友好

優點: 減輕了服務器端的渲染壓力;同時,最大的好處就是:能夠實現前後端分離開發;

 

各自應用的場景:

1、當不需要對SEO友好的時候,推薦使用客戶端渲染;

2、當需要對 SEO友好的時候,推薦使用服務器端渲染

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章