美文网首页我爱编程
RESTful架构理解

RESTful架构理解

作者: 一许青衫一 | 来源:发表于2018-05-28 10:30 被阅读0次

一、什么是REST?

1、概述

  REST全称是Representational State Transfer(表现层状态转化),省略了主语 "资源"(Resources)。REST指的是一种client与server之间的交互形式,REST本身不实用,实用的是设计RESTful API(REST风格的网络接口)。如果一个架构符合REST原则,就称他为RESTful架构。要理解REST概念,首先了解名称的意义。

2、资源(Resources)

  所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息。他可能是一段文本,一张图片,一个视频或者一种服务,总之就是一种具体的实体。我们可以用一个URI(统一资源定位符)指向他,每个"资源"都对应一个特定的URI。要获取某个资源,只需要访问其对应的URI即可。因此URI就成了每一个资源的地址或独一无二的身份识别符。所谓"上网",就是与互联网上一系列"资源"互动,调用他的URI。

3、表现层(Representation)

  "资源"是一种信息实体,他可以有多种表现形式,我们把"资源"具体表现出来的形式。叫做他的"表现层"。例如:文本可以有txt格式,也可以有html与json格式;图片可以有PNG格式,也可以有JPG格式。URL只代表资源的实体,不代表他的形式。严格来说,有些网址最后的".html"后缀名是不需要的,因为这个后缀名表示格式,属于"表现层"范畴,而URL应该只代表"资源"的位置。他的具体表现形式,应该在HTTP请求的头部信息中用Accept和Content-Type字段指定,这两个字段才是对"表现层"的描述。

4、状态转化

  访问一个网站,就代表着客户端与服务器的一次交互,在交互过程中,势必会有数据和状态的变化。互联网通信协议HTTP协议,是一个无状态协议。这就意味着,所以的状态都保存在服务器端。如果客户端想要操作服务器,必须使用某种手段使得服务器端发生"状态转化"(State Transfer)。而这种转化是建立在表现层上的,所以就是"表现层状态转化"。
  客户端用到的手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。他们分别对应四种操作:GET用来获取资源,POST用来新建资源(也可以用来更新资源),PUT用来更新资源,DELETE用来删除资源。

5、总结

  URL定位资源,HTTP动词(GET,POST,PUT,DELETE)描述操作。

二、实例

Server提供的Restful API中,URL中只使用名词来指定资源,原则上不使用动词。"资源"是REST架构或者说整个网络处理的核心。比如:

   实例1
   实例2
   图例1
   图例2

参考文章:

1、理解RESTful架构—阮一峰(http://www.ruanyifeng.com/blog/2011/09/restful.html?bsh_bid=1717507328)
2、知乎提问:REST架构该如何理解,覃超回答(https://www.zhihu.com/question/27785028)

相关文章

  • RESTful API 使用解读

    理解 RESTFul 架构 RESTful API 设计指南

  • restful

    理解RESTful架构

  • REST框架——RESTful

    理解RESTful架构 RESTful API 设计指南——阮一峰 由来 从技术架构层面上看,Web的技术架构包括...

  • python(12)实践Django-Restful API

    关于Restful API,可阅读理解RESTful架构和RESTful API 设计指南。 在Django中要实...

  • Laravel框架学习(一)

    理解RESTful架构转载 laravel 学习笔记——路由(基础)

  • RESTful架构理解

    一、什么是REST? 1、概述   REST全称是Representational State Transfer(...

  • 理解RESTful架构

    越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模式,建立在分布式...

  • 理解RESTful架构

    http://www.ruanyifeng.com/blog/2011/09/restful.html?bsh_b...

  • 理解RESTful架构

    转http://www.ruanyifeng.com/blog/2011/09/restful.html 理解RE...

  • 理解RESTful架构

    《转》,非原创 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模...

网友评论

    本文标题:RESTful架构理解

    本文链接:https://www.haomeiwen.com/subject/gzjwjftx.html