Web应用模式
在开发Web应用中,有两种应用模式:前后端不分离和前后端分离
前后端不分离
前后端不分离通俗来讲就是不区分前端和后端,浏览器请求时服务器直接返回页面,其示意图如下
前后端分离
前后端分离是Web不断发展的结果,它将开发工作分为两块,前端和后端,前端负责静态页面的构建和数据展示,而数据则来自于后端,后端的工作在于对外提供统一的API接口,供前端调用获取数据,其示意图如下
API接口
为了在团队内部形成共识,防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。
目前市面上大部分公司开发人员使用的接口服务架构主要有两种:Restful和RPC
RPC
RPC(Remote Procedure Call)翻译成中文就是远程过程调用
action=get_all_student¶ms=301&sex=1
上面是一个典型的RPC调用,action指定要调用的函数名,&后面可以传入参数
RPC的缺点是如果函数数量较多,前端在请求api接口时会比较难找,且容易出现重复的接口
Restful接口
REST全称是Representational State Transfer,中文名为表述性状态转移,简单来讲,就是把后端所有的数据/文件看成资源,接口请求数据,本质上就是对资源进行操作。Web项目中操作资源,无非就是增删改查,所以要求在地址栏中声明要操作的资源是什么,然后通过http请求动词
来说明对资源进行哪一种操作
以下是几个示例:
GET http://www.douban.com/api/books/ 获取所有书籍
POST http://www.douban.com/api/books/ 添加一本书
DELETE http://www.douban.com/api/books/2/ 删除id=2的书
PUT http://www.douban.com/api/books/2/ 更新id=2的书籍信息
RESTful API规范
RESTful 理念认为后端开发任务就是提供数据的,对外提供的是数据资源的访问接口,所以在定义接口时,客户端访问的URL路径就表示这种要操作的数据资源。而对于数据资源分别使用POST、DELETE、GET、UPDATE等请求动作来表达对数据的增删查改。详细的规范参考博客:RESTful 规范