前后端分離與前后端不分離的區(qū)別
前后端不分離
在前后端不分離的應(yīng)用模式中,前端頁(yè)面看到的效果都是由后端控制,由后端渲染頁(yè)面或重定向,也就是后端需要控制前端的展示,前端與后端的耦合度很高。
這種應(yīng)用模式比較適合純網(wǎng)頁(yè)應(yīng)用,但是當(dāng)后端對(duì)接App時(shí),App可能并不需要后端返回一個(gè)HTML網(wǎng)頁(yè),而僅僅是數(shù)據(jù)本身,所以后端原本返回網(wǎng)頁(yè)的接口不適用于前端App應(yīng)用,為了對(duì)接App后端還需再開(kāi)發(fā)一套接口。
請(qǐng)求的數(shù)據(jù)交互如下圖:
前后端分離
在前后端分離的應(yīng)用模式中,后端僅返回前端所需的數(shù)據(jù),不再渲染HTML頁(yè)面,不再控制前端的效果。至于前端用戶看到什么效果,從后端請(qǐng)求的數(shù)據(jù)如何加載到前端中,都由前端自己決定,網(wǎng)頁(yè)有網(wǎng)頁(yè)的處理方式,App有App的處理方式,但無(wú)論哪種前端,所需的數(shù)據(jù)基本相同,后端僅需開(kāi)發(fā)一套邏輯對(duì)外提供數(shù)據(jù)即可。
在前后端分離的應(yīng)用模式中 ,前端與后端的耦合度相對(duì)較低。
在前后端分離的應(yīng)用模式中,我們通常將后端開(kāi)發(fā)的每個(gè)視圖都稱(chēng)為一個(gè)接口,或者API,前端通過(guò)訪問(wèn)接口來(lái)對(duì)數(shù)據(jù)進(jìn)行增刪改查。
對(duì)應(yīng)的數(shù)據(jù)交互如下圖 :