1. 程式人生 > >前後端分離

前後端分離

com -type 展示 詳細 原本 需要 ima image 開發模式

對於前後端分離的應用場景,不是所有的場景都適合,但是大多數項目都能夠通過前後端分離來實現。
大多數後臺應用我們可以做成SPA應用(單頁應用),而單頁應用最主要的特點就是局部刷新,這通過前端控制路由調用AJAX,後臺提供接口便可以實現。
這樣的方式用戶體驗更好,網頁加載速度更快,開發和維護成本也降低了不少,效率明顯提升。

隨著前端技術的發展和叠代,前端MVC框架應運而生,利用目前主流的前端框架,如React,Vue可以輕松構建起一個無需服務器端渲染就可以展示的網站,同樣這類框架都提供了前端路由功能,後臺可以不再控制路由的跳轉,將原本屬於前端的業務邏輯全部丟給前端。

一、認識前後端分離

  • 1.交互形式
  • 2.代碼組織方式
  • 3.開發模式
  • 4.數據接口規範流程

1.交互形式:
瀏覽器 《—RESTFul—》服務器
在前後端分離架構中,後端只需要負責按照約定的數據格式向前端提供可調用的API服務即可。前後端之間通過HTTP請求來進行交互,前端獲取到數據後,進行頁面的組裝和渲染,最終返回給瀏覽器。

2.代碼組織形式,就是前後端代碼庫分離,前端代碼中有可以進行Mock測試(通過構造虛擬測試對象以簡化測試環境的方法)的偽後端,能支持前端的獨立開發和測試。而後端代碼中除了功能實現外,還有著詳細的測試用例,以保證API的可用性,降低集成風險。

3.前後端分離之後,開發流程是:
提出需求,設計接口約定數據,前後端並行開發

,前後端集成,前端調整頁面,集成成功,交付上線

4.數據接口規範流程
技術分享圖片

二、RESTFul

REST表示表現層狀態轉化。如果一個架構符合REST原則,就稱它為RESTFul架構。

資源:

是網絡上的一個實體,或者是網絡上的一個具體信息,可以用一個URI來指向它,每種資源對應一個特定的URI。

表現層

資源是一種信息實體,它可以有多種外在表現形式。我們把資源具體呈現出來的形式,叫做它的表現層
而URI只是代表資源的位置,它的具體表現形式,應該在HTTP請求的頭信息中用Accept和Content-Type字段指定,這兩個字段才是對表現層的描述。

狀態轉化

訪問一個網站,就代表了客戶端和服務器端的一個互動過程,在這個過程中,勢必涉及到數據和狀態的變化。
如果客戶端想要操作服務器,必須通過某種手段,讓服務器發生“狀態轉化”,而這種轉化就是建立在表現層之上的,所以就是“表現層狀態轉化”。
常見的手段有:GET,POST,PUT,DELETE

註意

(1)REST本身並不實用,實用的是如何設計RESTFul API(REST風格的網絡接口)
Server提供的RESTFul API 中,URL只使用名詞來指定資源,原則上不使用動詞。
(2)用HTTP協議中的動詞來實現資源的添加,修改,刪除等操作,即通過HTTP動詞來實現資源的狀態扭轉。
(3)Server和Client之間傳遞某資源的一個表現形式,比如JSON,XML傳輸文本,或者用JPG,WebP傳輸圖片,當然還可以壓縮HTTP傳輸時的數據
(4)用HTTP狀態碼來傳遞Server的狀態信息。

前後端分離