前端路由和後端路由,前端渲染和後端渲染
1.vue-router和koa-router的區別
vue-router是前端路由,koa-router是後端路由。
前端路由
定義:在單頁面應用,大部分頁面結構不變,只改變部分內容的使用
優點:使用者體驗好,不需要每次都從伺服器全部獲取,快速展現給使用者
缺點:
使用瀏覽器的前進,後退鍵的時候會重新傳送請求,沒有合理地利用快取
單頁面無法記住之前滾動的位置,無法在前進,後退的時候記住滾動的位置
後端路由
定義:透過使用者請求的url導航到具體的html頁面;每跳轉到不同的URL,都是重新訪問服務端,然後服務端返回頁面,頁面也可以是服務端獲取資料,然後和模板組合,返回HTML,也可以是直接返回模板HTML,然後由前端再去請求資料,使用前端模板和資料進行組合,生成想要的HTML
對比
1.從效能和使用者體驗的層面來比較的話,後端路由每次訪問一個新頁面的時候都要向伺服器傳送請求,然後伺服器再響應請求,這個過程肯定會有延遲。而前端路由在訪問一個新頁面的時候僅僅是變換了一下路徑而已,沒有了網路延遲,對於使用者體驗來說會有相當大的提升。
2.在某些場合中,用ajax請求,可以讓頁面無重新整理,頁面變了但Url沒有變化,使用者就不能複製到想要的地址,用前端路由做單頁面網頁就很好的解決了這個問題。但是前端路由使用瀏覽器的前進,後退鍵的時候會重新傳送請求,沒有合理地利用快取。
vue-router前端路由原理
前端路由主要模式:hash模式和history模式
而在vue-router中,它提供mode引數來決定採用哪一種方式,選擇流程如下:
預設Hash-->如果瀏覽器支援History新特性改用History-->如果不在瀏覽器環境則使用abstract
選好mode後建立history物件(HashHistory或HTML5History或AbstractHistory)
可見最被青睞的是History模式,理由是: "#"太醜了。。
前端渲染:
定義:指的是後端返回JSON資料,前端利用預先寫的html模板,迴圈讀取JSON資料,拼接字串(es6的模板字串特性大大減少了拼接字串的的成本),並插入頁面。
好處:網路傳輸資料量小。不佔用服務端運算資源(解析模板),模板在前端(很有可能僅部分在前端),改結構變互動都前端自己來了,改完自己調就行。
壞處:前端耗時較多,對前端工作人員水平要求相對較高。前端程式碼較多,因為部分以前在後臺處理的互動邏輯交給了前端處理。佔用少部分客戶端運算資源用於解析模板。
後端渲染:
定義:前端請求,後端用後臺模板引擎直接生成html,前端接受到資料之後,直接插入頁面。
好處:前端耗時少,即減少了首屏時間,模板統一在後端。前端(相對)省事,不佔用客戶端運算資源(解析模板)
壞處:佔用伺服器資源。
作者:阿r阿r
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756/viewspace-2813731/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 面試官:說一說前端路由,後端路由客戶端渲染與服務端渲染面試前端路由後端客戶端服務端
- SSR後端渲染和CSR前端渲染的區別後端前端
- 淺談前後端路由與前後端渲染後端路由
- 前端路由與後端路由的思考前端路由後端
- React服務端渲染(前後端路由同構)React服務端後端路由
- 前端渲染HTML與後端渲染HTML的區別前端HTML後端
- 後端說,單頁面SPA和前端路由是怎麼回事後端前端路由
- 服務端渲染到前端渲染,再到“服務端渲染”服務端前端
- 服務端渲染和客戶端渲染服務端客戶端
- 前端和後端的區別在哪?前端後端
- Web前端和後端的異同Web前端後端
- 細說後端模板渲染、客戶端渲染、node 中間層、伺服器端渲染(ssr)後端客戶端伺服器
- 前端和後端分別做什麼?前端後端
- 幽默:前端、後端和API的形象比喻前端後端API
- 前端和後端開發的異同前端後端
- 後端返回無限極陣列後, 前端進行無限極渲染 , 菜鳥篇後端陣列前端
- 一文讀盡前端路由、後端路由、單頁面應用、多頁面應用前端路由後端
- 前端和後端的區別是什麼?前端後端
- Vue2+Koa2+Typescript前後端框架教程--03後端路由和三層模式配置VueTypeScript後端框架路由模式
- React 伺服器端渲染和客戶端渲染效果對比React伺服器客戶端
- 前端/後端協議前端後端協議
- 前端後端區別前端後端
- 幽默圖:前端和後端 vs. 正面與反面前端後端
- JavaScript前端和Java後端的AES加密和解密JavaScript前端後端加密解密
- 前端路由的原理和實現前端路由
- 父子路由的渲染路由
- 對比分析--淺析SSR(服務端渲染)和SPA(客戶端渲染)服務端客戶端
- Web 應用客戶端渲染和伺服器端渲染的比較Web客戶端伺服器
- 前端開發和後端開發,哪個薪酬更高?前端後端
- 前端框架擼起來——元件和路由前端框架元件路由
- 前端路由原理解析和實現前端路由
- 前端路由前端路由
- 前端路由(手寫路由)前端路由
- laravel 路由 命名的渲染操作Laravel路由
- 前端學習 node 快速入門 系列 —— 服務端渲染前端服務端
- 反SPA的後端路由三條路線後端路由
- SAP UI渲染模式:客戶端渲染 VS 伺服器端渲染UI模式客戶端伺服器
- Angular Universal 學習筆記 - 客戶端渲染和伺服器端渲染的區別Angular筆記客戶端伺服器