什么是REST和RESTFUL?

什么是REST?

最近一直在自学SpringCould框架,参考了很多资料之后,能够让SpringCould在微服务领域站稳脚跟有很大一部分原因是因为它支持REST

那么REST到底是什么呢?

REST一词最初出现于它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。

它是一种格式或是一种规范,REST并不是单词"rest",它是Representational State Transfer的缩写,即资源在网络中以某种变现形式进行状态转移.简单的来说,REST就是对client(客户端)和server(服务端)的一种交互形式.其本身并没有实用价值.真正让其大放异彩的是RESTFUL.

RESTFUL是一种网络应用程序的设计风格或者是开发模式,基于HTTP,大多数使用Json格式定义.

设计风格这个词是不是跟java代码中的**“接口”**一词有些相似?
事实上,在日常编码中,接口被我们用来定义一个对象的各种功能,而接口与RESTFUL是一个概念吗? 并不是!

RESTFUL属于一种设计API(Application Programming Interface,应用程序编程接口)的规则.
通俗的来讲API就是一个个有功能的按钮,比如有两个按钮红色和蓝色.按下蓝色的按钮它就会给你一杯咖啡,按下红色的按钮它会给你一杯可乐,这就是实现了一个功能.
再比如,我们平时用支付宝或者微信支付时,我们就会跟支付宝专门用来负责管理支付的API进行交互.

REST风格的URL请求

假设某个使用传统方式设计的请求路径及所需的参数是:

/addresses/set_default?aid=10

使用REST风格,可以设计为:

/addresses/10/set_default

值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。

总结

REST使得client与server分离;
提高了用户页面的便捷性(不必编写大量的逻辑代码在前端页面进行计算或者分析);
通过简化服务器实现高性能, 低成本
允许客户端和服务端独立的优化, 当服务端的某个组件出现问题时, 可以单独改进或优化,并不会对服务端的整体造成影响. 极大的降低了程序之间的耦合性.
统一了接口, 不管是什么类型的Cilent都可以使用使用REST风格的接口. 对于开发后端的小伙伴们来说,我们只需要写好一组API抛给前端工程师就好,可以极大的节省开发时间.
[注]: Rest风格的普及对于我们Java程序员来说无疑是幸福的,而SpringCould的最大优点(个人认为)就是前后端分离,这意味着我们不必再编写JSP页面,也不用学那些对我来说比较"痛苦"的前段技术.

最后,希望大佬们对我的错误和不足做出指正.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

减白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值