Web开发

注册

 

发新话题 回复该主题

你知道前后端分离开发的原理吗 [复制链接]

1#

??点击“博文视点Broadview”,获取更多书讯

在Web应用开发中,有两种开发模式:前后端不分离和前后端分离。

前后端不分离的开发模式耦合度高,适合纯网页开发;前后端分离的开发模式耦合度低,前端可以通过访问接口来对数据进行增删改查。所以,前后端分离的开发模式是更被开发者广泛使用的一种。

前后端分离主要是指,随着Web技术的发展,采用前端、后端各自独立开发的模式,解决前端后端一体化开发所带来的互相制约问题,提高网站项目开发效率和后续的可维护性,同时可以通过标准化的WebAPI为前后端传递标准化数据,如JSON、XML格式的数据。

前后端分离原理

DjangoRestFramework,简称DRF,中文意思是“Django表述状态转化框架”,是一款功能强大、基于Django框架开发的、用于构建符合RESTful风格WebAPI的、前后端分离的商业化开发工具包。

它是免费开源的,被一些大型IT企业所使用,是目前非常流行的商业级技术框架之一。

Django的RestFramework前后端分离实现原理如图1所示。

图1前后端分离实现原理

浏览器端,采用自有客户端技术框架(如Vue.js、ExtJS、EasyUI、DWZ等)实现独立开发,并与服务器端进行资源调用。

服务器端,整体框架建立在Django框架基础上,借助DRF技术实现数据、文件的交换使用。

DRF的核心是提供RESTful规范的API接口,为浏览器端提供数据和文件访问支持。

这里的数据和文件统称为数据资源。

为了让浏览器端接收JSON或XML格式的数据,该框架事先需要进行数据序列化处理。接收到浏览器端发送过来的数据后,需要对其进行反序列化处理才能使用。

前后端分离方式与前后端不分离方式之间的一个重要的区别是,前者不进行模板渲染便将其返回给浏览器,仅提供标准结构的数据资源。

RESTful

REST的全称为RepresentationalStateTransfer,中文意思是“表述状态转化”。

REST于年在RoyFielding的博士论文中首次出现,RoyFielding是HTTP规范的主要编写者之一。

在目前主流的3种Web服务交互方案中,REST相比于SOAP(SimpleObjectAccessProtocol,简单对象访问协议)及XML-RPC更加简单明了,无论是对URL进行处理还是对Payload进行编码,REST都倾向于用更加简单、轻量的方法进行设计和实现。

值得注意的是,REST并不是一个明确的标准,而更像一种设计风格。符合REST风格的架构方式就是RESTful。

1.数据资源与URL

REST需要表述的是数据资源,包括数据库中的记录、各种文件等。要让数据资源被浏览器访问,需要提供一个唯一标识。在Web中,这个唯一标识就是URL(UniformResourceLocator,统一资源定位符)。比如,假设.0.0.1:/use/1中的1指向应用use下的某一条数据记录,则整个URL就是一个数据资源地址。

2.统一资源接口

有了数据资源和访问地址后,RESTful为浏览器端的访问提供了4种常用HTTP标准访问方式,用于传递数据。

GET:从服务器端获取数据资源。

POST:在服务器端建立一个数据资源。

PUT:在服务器端更新数据资源。

DELETE:从服务器端删除指定的数据资源。

3.常用返回状态码

HTTP的返回状态码是纯数字的,如、等,不太容易理解,RESTful提供了统一标准的文字标识符,如表1所示,更有助于使用人员理解。

表1常用返回状态码对应的文字识别符

关于前后端分离的内容就先分享到这里,欢迎阅读《PythonDjangoWeb从入门到项目实战(视频版)》一书,继续了解更多关于DjangoWeb开发的内容。

▊《PythonDjangoWeb从入门到项目实战(视频版)》

刘瑜安义著

经验丰富的写作团队,本书作者皆有20多年的实战经验,并有雄厚的写作基础,将理论与实践完美地结合在一起。

将故事融入于书中,增加了本书的阅读情趣,便于读者更好地吸收重点知识。

附赠丰富的配套学习资源:1个完整的商业项目代码案例、80多段案例代码、30多个视频(免费赠送)、习题册及答案手册(免费赠送)。

贴心的互动教学:QQ社群、

分享 转发
TOP
发新话题 回复该主题