表现层状态转换

✍ dations ◷ 2025-11-25 11:10:16 #表现层状态转换

表现层状态转换(英语:Representational State Transfer,缩写:REST)是Roy Thomas Fielding(英语:Roy Thomas Fielding)博士于2000年在他的博士论文中提出来的一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。表现层状态转换是根基于超文本传输协议(HTTP)之上而确定的一组约束和属性,是一种设计提供万维网络服务的软件构建风格。符合或兼容于这种架构风格(简称为 REST 或 RESTful)的网络服务,允许客户端发出以统一资源标识符访问和操作网络资源的请求,而与预先定义好的无状态操作集一致化。因此表现层状态转换提供了在互联网络的计算系统之间,彼此资源可交互使用的协作性质(interoperability)。相对于其它种类的网络服务,例如SOAP服务,则是以本身所定义的操作集,来访问网络上的资源。

目前在三种主流的Web服务实现方案中,因为REST模式与复杂的SOAP和XML-RPC相比更加简洁,越来越多的Web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务执行图书查询;雅虎提供的Web服务也是REST风格的。

需要注意的是,REST是设计风格而不是标准。REST通常基于HTTP、URI、XML以及HTML这些现有的广泛流行的协议和标准。

每个资源都可以通过URI访问到。

也就是一个个可以认知的资源,比如文档,音乐,视频等信息,都可以通过唯一的URI确定。

就是我们通过客户端可以修改原资源的状态。

这样重表达的客户端可以知道如何处理。

处理以超媒体为基础的状态变化。

REST架构风格最重要的架构限制有6个:

请求中包含了各种独立资源的标识,例如,在Web服务中的URI。资源本身和发送给客户端的标识是独立。例如,服务器可以将自身的数据库信息以HTML、XML或者JSON的方式发送给客户端,但是这些可能都不是服务器的内部记录方式。

当客户端拥有一个资源的标识,包括附带的元数据,则它就有足够的信息来删除这个资源。

每一个消息都包含足够的信息来描述如何来处理这个信息. 例如,媒体类型 (media-type) 就可以确定需要什么样的分析器来分析媒体数据.

同用户访问Web服务器的Home页面相似,当一个 REST 客户端访问了最初的REST应用的URI之后,REST 客户端应该可以使用服务器端提供的链接,动态的发现所有的可用的资源和可执行的操作。随着访问的进行,服务器在响应中提供文字超链接,以便客户端可以得到当前可用的操作。客户端无需用确定的编码的方式记录下服务器端所提供的动态应用的结构信息。

应该注意区别应用的状态和连接协议的状态。HTTP连接是无状态的(也就是不记录每个连接的信息),而REST传输会包含应用的所有状态信息,因此可以大幅降低对HTTP连接的重复请求资源消耗。

符合REST设计风格的Web API称为RESTful API。它从以下三个方面资源进行定义:

下表列出了在实现RESTful API时HTTP请求方法的典型用途。

PUT和DELETE方法是幂等方法。GET方法是安全方法(不会对服务器端有修改,因此当然也是幂等的)。

不像基于SOAP的Web服务,RESTful Web服务并没有“正式”的标准。这是因为REST是一种架构,而SOAP只是一个协议。虽然REST不是一个标准,但大部分RESTful Web服务实现会使用HTTP、URI、JSON和XML等各种标准。

例如,一个简单的网络商店应用:

相关

  • 皮拉罕语皮拉罕语(葡萄牙语:Língua pirarrã;皮拉罕语:xapaitíiso、皮拉哈语 ),是由一群住在巴西亚马孙州一条名叫麦西河的亚马逊河支流沿岸,过着狩猎采集生活的皮拉罕人所使用的语言。皮
  • 米勒山谷狼人米勒山谷狼人(英语:The Werewolves of Miller's Hollow)是一种衍生自俄罗斯的《杀手》的多人纸牌游戏,一般由8到18人组成,最大可达47人。该游戏由法国人Philippe des Pallières
  • 车荣勋车荣勋(韩语:차영훈),韩国电视剧导演。
  • 选矿机械选矿机械是一种处理矿石,使低品质矿石有利用价值的机械。使有价值的矿物与脉石分离。由于矿石是固体,因此常常需要粉碎矿石才能使其分离。因此粉碎设备也被列入选矿设备中。粉
  • 让路给小鸭子《让路给小鸭子》(英语:Make Way for Ducklings)是美国绘本作家罗伯特·麦克洛斯基(英语:Robert McCloskey)创作的儿童绘本,于1941年首次出版,讲述一对野鸭夫妻在波士顿安家立业的故
  • 拜尔巴赫巴赫河坐标:48°48′18″N 12°18′54″E / 48.805047648679775°N 12.314906679792784°E / 48.805047648679775; 12.314906679792784拜尔巴赫巴赫河(德语:Bayerbacher Bach),是德国的
  • 小行星45小行星45号欧仁妮(45 Eugenia)、又译作尤金尼亚、香女星,直径214.6千米,由H. Goldschmidt在1857年6月27日于巴黎发现。它亦是第一颗被发现拥有卫星的小行星。在19世纪初,新发现的小行星一般以女神的名字来命名,但此小行星却以拿破仑三世的妻子欧仁妮皇后来命名,首开纯粹以人名来命名的小行星的风气。(有说小行星12凯神星(Victoria)是以希腊神话中的胜利女神来命名之余,语带相关地来歌颂维多利亚女王。)“香女星”一名出自清代伟烈亚力、李善兰合译的约翰·赫歇尔《谈天》附录。大英百
  • 弗朗索瓦·科比尔弗朗索瓦·科比尔(法语:François Corbier,1944年10月17日-2018年7月1日)是法国电视节目主持人兼词曲作者。
  • 霍斯特省霍斯特省(波斯语:ولایت خوست‎)是阿富汗34个省份之一,位于阿富汗东部。霍斯特省东面与巴基斯坦的瓦济里斯坦和古勒姆特区接壤。过去霍斯特省曾是帕克蒂亚省的一部分,围绕霍斯特的大片地区仍被称为大帕克蒂亚(英语:Loya Paktia)。霍斯特省省会是霍斯特,人口约546,800人,主要是部落社会。霍斯特机场(英语:Khost Airport)提供国内航线飞往阿富汗首都喀布尔。
  • 政治行政二分理论美国唯一有博士学位的总统(1913~1921),曾任普林斯顿大学校长。公元1886年于康乃尔大学发表专题演讲-行政的研究。威尔逊旋即修改此讲稿发表在公元1887年的政治学季刊,认为政治和行政应该分离,被称为行政学之父。古德诺是美国哥伦比亚大学行政法教授、美国政治学会第一任主席,其对美国早期行政学发展贡献良多,素有该国“公共行政之父”称誉。行政的研究一文是现代公共行政学之滥觞,主要提出行政不受政治干扰之“政治、行政分立”的政治行政二分主张。此文重要理论为“行政研究的目的乃为发现:一、政府可适当且成功的做哪些