服務端渲染 用戶使用的瀏覽器瀏覽的都是一些沒有複雜邏輯的、簡單的頁面,這些頁面都是在後端將 html 拼接好的,而後返回給前端完整的 html 文件,瀏覽器拿到這個 htmlhtml
文件以後就能夠直接解析展現了前端
客戶端渲染 隨着前端頁面的複雜性提升,前端就不單單是普通的頁面展現了,多是添加更多功能的組件,複雜性更大,另外,此時 ajax 的興起,使得頁面就開始崇拜先後端ajax
分離的開發模式,即後端不提供完整的 html 頁面,而是提供一些 api 使得前端能夠獲取 json 數據,而後前端拿到 json 數據以後再在前端進行 html 頁面的接,數據庫
而後展現在瀏覽器上json
區別
客戶端渲染和服務器端渲染的最重要的區別就是到底是誰來完成html文件的完整拼接,若是是在服務器端完成的,而後返回給客戶端,就是服務器端渲染,而若是是前
端作了更多的工做完成了html的拼接,則就是客戶端渲染。
服務端渲染優點
- 前端耗時少。由於後端拼接完了html,瀏覽器只須要直接渲染出來。(解決首頁白屏問題)
- 有利於SEO。由於在後端有完整的html頁面,因此爬蟲更容易爬取得到信息,更有利於seo。
- 無需佔用客戶端資源。即解析模板的工做徹底交由後端來作,客戶端只要解析標準的html頁面便可,這樣對於客戶端的資源佔用更少,尤爲是移動端,也能夠更省電。
- 後端生成靜態化文件。即生成緩存片斷,這樣就能夠減小數據庫查詢浪費的時間了,且對於數據變化不大的頁面很是高效 。
劣勢 不利於先後端分離
佔用服務器資源