这是我参与「第三届青训营 -后端场」笔记创作活动的第2篇笔记
在动态页面刚兴起的时候,服务器的前端和后端大多是杂糅在一起的,前端页面的渲染,数据的存放统统交给后端服务器来做。然而现在,前后端分离模式却越来越成为主流。
什么是前后端分离?
顾名思义,前后端分离就是前端和后端分开,前端负责渲染页面,交互,而后端负责处理数据与逻辑。
为什么要分离?
传统的MVC模式下页面渲染交给后端服务器,增加大后端服务器的压力,也增大了数据传输量。使用前后端分离可以减少后端服务器压力,减小数据传输量,提升服务器性能。
传统的MVC模式下前后端过于耦合,维护成本大,代码复用率低,使用前后端分离可以解耦,便于维护,也可以提高代码复用率。
怎样分离?
前端和后端独立开发,前端不依赖后端,后端不依赖前端。
前端与后端通过异步接口传递信息,如AJAX,Axios等。
后端编写,维护接口,给前端提供API,利用JSON传递响应。
前端编写界面,通过调用后端提供的API获取相应的信息。
注意点
前后端分离中,前端会给后端发送请求,一般是GET或者POST请求,请求会含有header和body部分,数据会被转为JSON字符串存入body中。
后端可以根据请求URL来处理body中的数据,并且返回响应,响应中需要携带http状态码,用以告知前端处理的状态,比如200是成功,500是服务器内部错误,400是请求错误等。
前后端分离中,如果需要验证登录状态,可以使用token技术,登录成功后,后端给前端传递一个token,此后每次前端给后端发送请求时,都在header中加入token,后端接受token进行验证,就可以验证登陆状态了。