REST及REST风格的web服

1.前言:

REST是由Roy Fielding提出的一种软件架构,现如今也是因为REST模式的web服务与复杂的SOAP、XML-RPC对比来说,

更加简洁,越来越多的web服务开始采用REST风格设计和实现。

简单的说REST就是URL定位资源,用HTTP动词(get,post,delete,detc)描述操作,REST描述的是在网络中
C/S的一种交互形式,我们一般所说的,并不是指的它本身,它本身没有什么实用之处,而是如何设计
RESTful API,也就是如何设计REST风格的网络接口。

2.REST中的基本概念

  • 在REST中的一切都被认为是一种资源,每个资源由url标识。
  • 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应http协议提供的get、post、put、和delete方法
    ,也就是说使用统一的接口,而不像soap风格的服务那样,每个服务的名称都是不同的。
  • 每个请求都是一个独立的请求,从客户端到服务器的每个请求都必须包含所有必要的信息,便于理解。
  • 资源表现形式则是JSON,xml、或者HTML,取决于读者是机器还是人,是消费web服务的客户软件合适web
    浏览器。当然也看可以是任何其他的格式。

3. REST架构风格的约束

最重要的约束包括如下6个方面

  • C/S:通信只能由客户端单方面发起,表现为请求/响应的形式
  • 无状态:通信的会话状态应该全部由客户端负责维护。
  • 缓存:响应内容可以在通信链的某处被缓存,以改善网络效率。
  • 统一接口:通信链的组件之间通过统一的接口互相通信,以提高交互的可见性。
  • 分层系统:通过限制组建的行为(即每个组件只能“看到”与其交互的紧邻层),将架构分解为若干等级的层。
  • 按需代码:支持通过下载并执行一些代码,对客户端的功能进行扩展。

4.REST风格的web服务

REST风格的web服务(也称为REST风格的web API)是一个使用http并遵循REST原则的web服务,他从以下三个方面进行定义:

  • URI,例如:http://example.com/resources
  • web服务接受与返回的互联网媒类型,例如:JSON、xml、yaml等
  • web服务在该资源上所支持的一系列请求方法(例如POST、get、put、delete)
下面的表格列出了在实现REST风格的web服务时http请求方法的典型用途:

webgis从基础到开发实践。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式。”但是在要求详细讲述它所提出的各个约束,以及如...
    时待吾阅读 3,482评论 0 19
  • REST本身是一个高度抽象化的架构风格,因而总是很难对它有一个比较深入且印象深刻的理解。写这篇文章的目的,是自己对...
    vito1994阅读 2,924评论 0 26
  • REST是Roy Fielding博士在他的毕业论文中首先提出来的。Roy Fielding何许人也?他是HTTP...
    歌湾汐云阅读 2,193评论 1 18
  • REST 为什么会有REST呢? Web服务已经成为异构系统之间的互联于集成的主要手段,过去Web服务几乎都是采用...
    JunChow520阅读 3,286评论 0 4
  • 转自 REST 协议的认识 客户端服务端例子 1、协议介绍:转 http://blog.csdn.net/colo...
    ZMJun阅读 2,271评论 1 2