REST是什么?

shmily2038 2012-08-29

  其实REST并不是一种新兴的技术语言,也不是什么新的技术框架。准确来说说REST只是一种概念、风格或者约束

,是回归HTTP本身的建议。
Web的几大基础技术:
  URI(统一资源标识符,用来标识资源)
  HTTP(超文本传 输/转移协议,用来操作资源)(POST\GET\PUT\DELETE)
  Hypertext(超文本,用来描述资源的内容与状态,我们可以用HTML、XML、JSON或者自定义格式的文本来描 述任何一个资源)。
  REST是由Roy Thomas Fieding在他的博士论文《Architectural Styles and the Design of Network-based

Software Architectures》(《架构风格与基于网络的软件架构设计》)中提出的一种架构思想。Roy Fielding是

Apache基金会的合作创作者,同时也是HTTP、URI等Web基础协议的主要设计者。从Roy Fielding的背景,我想大家就应该能了解到REST与Web之间的关系了吧。的确,在REST中我们关注技术实际上也只是URI、HTTP、Hypertext而已。

其实就是以Web为基础的架构而设计的一种概念、风格或者约束的一种设计模式,一种架构思想。
Roy在他的论文中提出了一个RESTful应用应该具备的几点约束。
  1、每个资源都应该有一个唯一的标识
  2、使用标准的方法来更改资源的状态
  3、Request和Response的自描述
  4、资源多重表述
  5、无状态的服务
  Roy认为,只有具备了上面的约束的应用才能算是REST应用,其实现在好多所谓的REST应用或服务,其实并不能

算是真正的REST应用。

Global site tag (gtag.js) - Google Analytics