Restful架构
2015-11-26 11:33
375 查看
REST即“Representational State Transfer”的缩写,“表现层状态转化”,如果一个架构符合REST原则,那他就是RESTFull架构。要理解RESTFull架构,最好的方法就是理解“Representational State Transfer”,它每个词代表什么含义。如果把这个名称搞懂了,也就不难理解REST的含义了。
(一)资源
REST的“表现层状态转化”中省略了主语,表现层其实指的是资源的表现层,所谓资源,就是网络上的一个实体,或者说网络上的一个具体信息,你可以用一个URI指向他,每个资源对应一个特定的URI,要获取一个资源,访问他的URI就可以了。所谓上网,就是网上一系列的资源互动,访问他的URI。
(二)表现层(Representation)
资源是一种实体信息,他可以有多种表现形式,我们把资源具体呈现出来的形式,叫做他的表现层。比如,文本文件可以以txt格式表现,也可以是HTML、XML甚至二进制形式表现。URI只代表资源的实体,不代表他的表现。严格来说,有些网站最后的.HTML是不必要的,因为这个后缀名表示格式,属于表现层范畴,而RUI应该只代表资源的位置。他的具体表现形式应该在HTTP请求的头信息中用accept和content-type中指定,这两个字段才是对表现层的描述。
(三)状态转化
访问一个网站,就代表了一个客户端和服务器的一个互动过程,在这个过程中,势必涉及到数据和状态的变化。HTTP协议是一个无状态协议,这意味着所有状态都保存在服务器,因此,如果客户端想要操作服务器,必须通过某种手段,让服务器方式状态转化,而这种转化是建立在表现层上的,因此称之为“表现层状态转化”。
客户端使用的手段,只能是HTTP协议,具体来说,就是HTTP协议里面,四个表示操作方式的动词,GET、POST、PUT、DELETE,他们分别对应四中基本操作,GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。
综述:
综合上面所述,总结一下什么事RESTFull架构
(1)每个URI代表一种资源
(2)客户端和服务器之间传递这种资源的表现层
(3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现“表现层状态转化”
(一)资源
REST的“表现层状态转化”中省略了主语,表现层其实指的是资源的表现层,所谓资源,就是网络上的一个实体,或者说网络上的一个具体信息,你可以用一个URI指向他,每个资源对应一个特定的URI,要获取一个资源,访问他的URI就可以了。所谓上网,就是网上一系列的资源互动,访问他的URI。
(二)表现层(Representation)
资源是一种实体信息,他可以有多种表现形式,我们把资源具体呈现出来的形式,叫做他的表现层。比如,文本文件可以以txt格式表现,也可以是HTML、XML甚至二进制形式表现。URI只代表资源的实体,不代表他的表现。严格来说,有些网站最后的.HTML是不必要的,因为这个后缀名表示格式,属于表现层范畴,而RUI应该只代表资源的位置。他的具体表现形式应该在HTTP请求的头信息中用accept和content-type中指定,这两个字段才是对表现层的描述。
(三)状态转化
访问一个网站,就代表了一个客户端和服务器的一个互动过程,在这个过程中,势必涉及到数据和状态的变化。HTTP协议是一个无状态协议,这意味着所有状态都保存在服务器,因此,如果客户端想要操作服务器,必须通过某种手段,让服务器方式状态转化,而这种转化是建立在表现层上的,因此称之为“表现层状态转化”。
客户端使用的手段,只能是HTTP协议,具体来说,就是HTTP协议里面,四个表示操作方式的动词,GET、POST、PUT、DELETE,他们分别对应四中基本操作,GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。
综述:
综合上面所述,总结一下什么事RESTFull架构
(1)每个URI代表一种资源
(2)客户端和服务器之间传递这种资源的表现层
(3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现“表现层状态转化”
相关文章推荐
- google,翻译英文网站
- 如何规划构建一套大型的Citrix桌面虚拟化架构 - Part2
- saltstack实现中小型架构的搭建
- 如何规划构建一套大型的Citrix桌面虚拟化架构 - Part1
- 架构师:成为架构师可能会面临的问题
- MySQL 高可用MMM
- 强势Mac机网站设计软件:10大最佳HTML编辑器
- 10月不良与垃圾信息:不良网站超3万件次 升8.9%
- 各种网站内容收集
- 网站压力测试webbeach的安装使用
- 网站日志分析
- jsp仿厨具公司网站
- x86、ARM和MIPS三种主流芯片架构
- [Windows Server 2008] 安装网站伪静态
- DIV CSS网站布局八个小技巧
- 一个非常好的外包项目网站
- 提升网站性能开发的10个技巧
- 天下数据浅谈网站服务器备份的五大优点
- 基于大并发大流量大存储的大型网站优化
- 分布式Web服务器架构