分爲三種:純後端渲染,純前端渲染,服務端的js渲染結合前端渲染。css
純後端渲染html
純後端的DOM渲染,DOM樹的生成徹底是在後端服務器中完成的,至關於後端服務器的程序會把各類的數據拼成一個DOM樹,並轉換成一個字節流做爲HTTP Response的body返回給瀏覽器。前端
純前端渲染後端
純前端渲染能夠解決純後端渲染中出現的各類體驗問題。純前端渲染把DOM生成的主題邏輯都放在了前端,這時後端只會返回一個框架的DOM結構,好比只帶一個容器元素的的DOM,而後由js代碼把頁面的主題渲染到這個容器元素中。瀏覽器
服務端的js渲染結合前端渲染服務器
主要是把前兩個階段中,一些交給純後端DOM渲染邏輯分離的很差,可是交給純前端DOM渲染又會形成較高延遲的部分單獨分離出來造成了一獨立DOM渲染階段,保留的代碼中自然的展現層和數據層的分離,又把API請求的累計延遲減小了不少,從SEO角度來講渲染結果對搜索引擎也很友好。固然,這樣的作法須要給總體的架構增長一個獨立的單元,給開發和部署都帶來了更高複雜性。架構
單頁面應用(SPA),通俗一點說就是指只有一個主頁面的應用,瀏覽器一開始要加載全部必須的 html, js, css。全部的頁面內容都包含在這個所謂的主頁面中。但在寫的時候,仍是會分開寫(頁面片斷),而後在交互的時候由路由程序動態載入,單頁面的頁面跳轉,僅刷新局部資源。多應用於pc端。框架
多頁面(MPA),就是指一個應用中有多個頁面,頁面跳轉時是整頁刷新前後端分離
單頁面的優勢:動畫
1,用戶體驗好,快,內容的改變不須要從新加載整個頁面,基於這一點spa對服務器壓力較小
2,先後端分離
3,頁面效果會比較炫酷(好比切換頁面內容時的專場動畫)
單頁面缺點:
1,不利於seo
2,導航不可用,若是必定要導航須要自行實現前進、後退。(因爲是單頁面不能用瀏覽器的前進後退功能,因此須要本身創建堆棧管理)
3,初次加載時耗時多
4,頁面複雜度提升不少