在开发Web应用中,有两种应用模式:
-
前后端不分离
-
前后端分离
1. 前后端不分离
在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。
这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一套接口。
小结:
-
响应内容中既包含显示方式(html),也包含数据。后端通过渲染(render)页面或重定向(redirect)控制前端页面效果,前后端耦合度很高
-
浏览器发送请求到服务器,路径通过路由匹配找到相应的类视图,通过请求方式(GET/PUT/POST等)找到具体的方法,方法最后会返回render,包含请求对象、html页面、请求数据。
2. 前后端分离
在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App有App的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。
在前后端分离的应用模式中 ,前端与后端的耦合度相对较低。
在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个接口,或者API,前端通过访问接口来对数据进行增删改查。
小结:
-
响应内容中只包含数据,不包含显示方式(html)。前端由前端决定,IOS由IOS决定…
-
后端仅返回前端所需数据,不渲染页面,前端通过端口(API)调用后端开发的视图对数据进行增删改查,前后端耦合度低较低。