Http协议 - Restful API 理解

说明

  • 相关词汇:Rest,Restful,Restful API。
  • Rest:Representational State Transfer,中文直译:表现层状态转移;是Roy Fielding博士在2000年他的博士论文中提出的一种Web API定义风格,是前后端分离Web API定义的一套标准一套规范,不是框架或者其它东西。
  • Restful:英语中形容词加上full类似于helpful,表示完全按照Rest风格定义。
  • Restful API:完全按照Rest风格定义的API。

由来

前后端分离

  • 早期在移动端等客户端还没流行起来时,Web API的概念还不是很清晰,当时的网站基本遵循后台-前端的模式,jsp,asp等技术都是后台产生数据,通过模板的形式将数据绑定到前端HTML代码中,生成绑定后的资源文件再传输给浏览器,这样前后端是强相关,界面显示和数据是在服务器一次性准备好,一起提供给浏览器,如果是移动端或者客户端,只需要获取数据,这种方式就非常不合适。
  • 并且还存在“域”的问题,网页代码只能访问同一个域的服务器,如需跨域需要其它方法。
  • 因此需要一种简洁的前后端分离的方式,这种方式就是将网站里的业务代码都提取成服务,网站的后台只负责提供网站本身的HTML页面、CSS、JavaScript文件等静态资源,而业务逻辑,交给服务提供,这样做的最大的好处是,业务变得独立了,可以被多个“网站”来共享访问。
  • 但是造成的问题就是所有的接口独立出来,无法再通过HTML代码信息进行描述,接口一多容易造成混乱,因此需要定义一套规范来定义接口,当前Rest成为了Web API的标准。

Rest 规范

  • 表现层状态转化,表现层是资源(名词)的展现,状态转换是操作处理(动词)的结果,之前Web API只使用http协议中的get和post,将名词和动词全部混在一起,放在URL中,Get和Post未起分辨的作用,例如:
GET /deleteProduct?id=1  //删除产品
  • RESTful规范将名词和动词分开,url中只包含名词,动词由Get,Post,Put,Delete等描述,作用划分更清晰,接口更易于理解。
GET    用来获取资源
POST   用来新建资源
PUT    用来更新资源
DELETE 用来删除资源
...    ....
  • URL中只包含名词,是面向资源的,而非整个服务。
  • 以上只是说明了RESTful的核心原则,还有很多实践规则。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值