可能你之前从未听说过RESTful架构,甚至不知道它是什么!但是,一旦了解它你就会发现,RESTful架构是如此的火爆,如此的风靡于互联网软件架构!
RESTful既然如此倍受互联网的欢迎,那么RESTful架构究竟是什么呢?
别着急,想要了解RESTful,我们先来了解一位大佬Roy Thomas Fielding,一个出生于加州拉古纳海岸的伟大计算机科学家。一个集”HTTP协议(1.0版和1.1版)主要设计者“、”Apache服务器软件作者“、”Apache基金会第一任主席“,这三大头衔于一身的伟大男人。
2000年,他在博士论文《Architectural Styles and the Design of Network-based Software Architectures》中首次提出了“REST”的概念。之后,这篇论文受到了广泛的关注,在当时的互联网界掀起了轩然巨波,对互联网的发展产生了深远的影响。
Fielding 所提出的”REST”可以看作是一种互联网软件架构原则,凡是符合REST原则的架构,都可称之为“RESTful”架构。
RESTful的英文全称为Representational State Transfer,直接翻译过来即为“表现层状态转化”,看到这儿,你可能还是不明白,到底什么是RESTful啊?可以用人话表示一下吗?其实“表现层”省略了主语,它指的是“资源”的表现层。下面,我们来慢慢详解有关内容。
(1)资源(Resources)
RESTful中的资源指的是,互联网上的一个实体或是一条有价值的信息。资源可以是一段文本、一张图片、一首歌曲、一种服务。每种资源对应着一个特定的URL(Uniform Resource Locator)——统一资源定位符。
URI成为了每一个资源的地址,更像是独一无二的识别符。因此,从这个角度来看,所谓的“上网”,就是调用URL与互联网上的一些“资源”交互。
(2)表现层(Representation)
我们将互联网上,资源所呈现出来各中表现形式,称为它的“表现层”。例如,文本可以由TXT表现,也可由XML、HTML、JSON等形式表现。这些都属于文本的“表现层”。
(3)状态转化(State Transfer)
在访问互联网的过程中,必然存在着客户端和服务器的互动,因此也必然涉及着数据和状态的变化。
另外,互联网的通信协议是基于HTTP的无状态协议。这就意味着,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,即前台想要访问后台资源时,必须通过一定的方法途径,让服务器端发生”状态转化”(State Transfer)。这种转化又恰好是发生在表现层之上的,所以这个过程就被称之为”表现层状态转化“。
由于基于HTTP协议,客户端来使服务端发生变化的操作也就是常用的GET、POST、PUT、DELETE这四个操作。GET—-获取资源,POST—-新建资源,PUT—-更新资源,DELETE—-删除资源。
因此,RESTful用一句话来概括就是”URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。”
(4)为什么要用RESTful架构?
近年来前端设备层出不穷(手机、平板、桌面电脑、其他专用设备……),不同的前端设备与后端进行通信交互时,每一个都要写上不同的协议吗?
答案当然是不必须的,RESTful正是为解决此问题而诞生的。它可以通过一套统一的接口为 Web,iOS和Android等不同前端提供服务,建立统一的后台管理。
如果你耐心的看完了此文,那么恭喜你,关于RESTful的理论知识你已全部掌握~记得下次一起来实战哦~
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/8533.html