前后端分离

sminocence sminocence     2022-10-12     298

关键词:

对于前后端分离的应用场景,不是所有的场景都适合,但是大多数项目都能够通过前后端分离来实现。
大多数后台应用我们可以做成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的状态信息。

前后端分离浅析

什么是前后端分离?前后端为什么要分离?前后端怎么样分离的?前后端分离给我们前端技术人员的开发带来什么样的好处?下面我就带着这些问题,来简单谈谈我了解到的前后端分离情况。 在讲前后端分离之前,让我们先... 查看详情

前后端分离的好处有哪些?

前后端分离是什么?前后端分离的好处都有哪些?如果两者不分离,会带来什么麻烦事?针对网友关注度非常高的话题,我们今天来大家一一解答。一、什么是前后端分离?前后端分离实质上是前后端代码分离,一般后端人员主... 查看详情

前后端分离框架

...ps://www.cnblogs.com/shanrengo/p/6397734.html前言:分离模式  对前后端分离研究了一段时间,恰逢公司有一个大项目决定尝试使用前后端分离模式进行,便参与其中。该项目从2016年初立项至今,平平稳稳得度过,但也涌现出越来越多... 查看详情

前后端分离

一、什么是前后端分离?最开始租内讨论的过程中我们发现。每个人对前后端分离的理解不一样。为了保证能在同一个频道讨论,先就什么是"前后端分离"达成一致大家一致认同的前后端分离的例子就是SPA,所有用到的展现的数据... 查看详情

django前后端不分离&前后端分离&模板引擎(代码片段)

一、前后端不分离与前后端分离的比较前后端不分离特点:后端需控制数据的展示前后端不分家,耦合严重返回的是HTML页面,适应性、拓展性差只能用于浏览器,其它终端不匹配前后端分离的特点:当前主流后端只对数据进行... 查看详情

前后端分离架构:web实现前后端分离,前后端解耦

...net/fuzhongmin05推荐:https://www.xttblog.com/?p=51781、背景前后端分离已成为互联网项 查看详情

前后端分离架构:web实现前后端分离,前后端解耦

...net/fuzhongmin05推荐:https://www.xttblog.com/?p=51781、背景前后端分离已成为互联网项 查看详情

什么是前后端分离与前后端不分离

  我起初认为前后端分离是,在软件开发过程中前后端分工就叫做前后端分离,其实是前端所有用到的数据都是后端通过异步接口的方式提供的,前端只管页面的展示及效果。   前端和后端不分离的时候,前端的页面也... 查看详情

深入浅出:了解前后端分离优势以及前后端接口联调

目录:1.项目有前后端分离和前后端不分离;2.前后端接口联调;3.前端性能优化;一、项目有前后端分离和前后端不分离:  在前后端不分离架构中,所有的静态资源和业务代码统一部署在同一台服务器上。服务器接收到浏览... 查看详情

论前后端分离的好处

前后端分离最大的意义在于前后端可以并行开发。现在搞BS架构程序,前后端分离应该是主流了。前后端分离有什么好处呢?我认为最大的好处是,使得前后端可以并行开发。其次是前后端分离成2个不同的工种,... 查看详情

vue发布中的前后端分离和前后端不分离

前后端分离思路:前端和后台完全分离.前端提供静态的css和js,在运行时将css和js给后端,后端进行数据的请求(ajax)前后端分离就是前端和后台在不同的服务器上。基本是前端一个nginx加css和js后端nginx加index.html当用户访问的时候... 查看详情

前后端分离与不分离

前后端不分离   在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。    这种应用模式比较适合纯网... 查看详情

前后端分离与前后端不分离

前后端不分离  在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制的,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。  这种应用模式比较适合纯网页应用,但是当... 查看详情

前后端分离的方法

网站前后端分离的方法  如何进行前后端分离:http://blog.csdn.net/github_26672553/article/details/51864112 https://segmentfault.com/q/1010000004494530解释了前后端的分离方法http://www.csdn.net/article/2015-10-25/2826033& 查看详情

前后端分离与不分离,一点点理解

1>为什么要前后端分离?现有开发模式的使用场景前后端职责不清开发效率的问题对前端发挥的局限2>前后端分离会带来什么变化?  1.彻底解放前端    制作页面的时候,不需要后台配置服务器环境,可以自己配置路由,前... 查看详情

关于web实现前后端分离,前后端解耦

 一、前言”前后端分离“已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦。并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客... 查看详情

nginx反向代理前后端分离项目(后端多台)

目前软件架构都比较流行前后端分离,前后端的分离也实现了前后端架构的分离,带来的好处——整个项目的开发权重往前移,实现真正的前后端解耦,动态资源和静态资源分离,提高了性能和扩展性。通常SpringBoot与vue进... 查看详情

前后端分离实践—如何解决跨域问题

随着前端越来越火,越来越多的人推崇前后端分离,后端只提供API,前端只负责消费API。这样我们就能更加专注自己的事情了,比如前端可以使用任何想要的工具(Webpack、Gulp等等),后端也不用因为集成前端的代码而苦逼加班... 查看详情