1。2    Web 服务和服务描述

1。2。1RESTful Web 服务

REST 即表述性状态传递(Representational State Transfer,简称 REST)是一种软件架构风 格,这种软件架构风格是由 Roy Fielding 博士于 2000 年在其博士论文中提出来的。REST 是 一种针对网络应用的,为降低开发的复杂性以及提高系统的可伸缩性而设计的开发方式。

REST 是指一组架构约束条件和原则,而满足这些约束条件和原则的应用程序或设计即 可被称为 RESTful。所以,一个采用 REST 原则设计的 Web 服务就是 RESTful Web 服务。 REST 主要有以下五个关键词构成:

(1)资源(resource) 资源是一种把服务器看作由许多离散的资源组成的方式。因为可以把每个资源看作是服

务器上一个可命名的抽象概念,所以它不但可以代表那些具体的东西,比如服务器文件系统 中的一个文件、数据库中的一张表等,也可以代表很多抽象的东西,只要客户端开发者能理 解即可。设计资源的方式与设计面向对象的方式类似,所以资源的核心是名词,在设计资源 时首先应关注的也是名词。一个资源可以由一个或多个 URI 来标识。URI 既是资源的名称, 也是资源在 Web 上的地址。所以客户端应用可以通过资源的 URI 与资源进行交互。

(2)资源的表述(representation) 资源的表述即一段对资源在某一特定时刻下的状态的描述。有多种格式可以进行资源的

表述,如图片/视频/音频/纯文本/HTML/XML/JSON 等,而协商机制可以用来确定资源的表述 格式。通常情况下我们可以用不同的格式来表述请求-响应方向的资源。

(3)状态转移(State Transfer)

本科毕业设计说明书 第 3 页

状态转移的意思不同于状态机中的状态迁移, 状态机中的状态迁移被翻译为 state transition。状态转移的具体解释是,以资源状态的表述来表示客户端和服务器端之间的转移。 要间接实现操作资源可以通过转移和操作资源的表述来达到。

(4)统一接口(Uniform Interface)

REST 对资源的各种操作有一个严格的要求,即必须通过统一的接口来实现,且对于每个 资源只能实行一组有限的操作。比如 HTTP/1。1 协议就定义了一组用以操作资源的统一接口:

7 个 HTTP 方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS

HTTP 头信息(可自定义)

HTTP 响应状态代码(可自定义)

一套标准的内容协商机制

一套标准的缓存机制

一套标准的客户端身份认证机制

REST 同时做出了另外的一些要求,如对于执行资源的操作,操作语义必须由 HTTP 消 息体之前的部分完全表达,不能将操作语义封装在 HTTP 消息体内部,以此提高交互的可见 性,从而便于通信链的中间组件实现安全审计、缓存等功能。论文网

(5)超文本驱动(Hypertext Driven)

“ 超文本驱动” 又名“ 将超媒体作为应用状态的引擎”( Hypermedia As The Engine Of Application State,来自 Fielding 博士论文中的一句话,缩写为 HATEOAS)。一个 Web 应用 可以被看作是一个由很多状态(应用状态)组成的有限状态机,而资源之间可以经由超链接 相互关联。超链接既能够表示资源之间的关系,也能够表示可执行的状态迁移。超媒体中不 但包含数据,还包含状态迁移的语义。Web 应用的状态迁移的驱动是以超媒体作为引擎的。 超媒体能暴露出服务器所提供的资源,即服务器提供了哪些资源是在运行时通过解析超媒体 发现的,而不是事先定义的[16]。

上一篇:新能源电动汽车动力电池的智能云监控技术研究
下一篇:基于安卓手机的餐厅前台点餐系统设计

银行行办公信息服务系统【1544字】

远程访问服务【1388字】

论利用ebXML和SOAP开发Web服务【2352字】

架设Linux(2.6内核)的服务器集群【745字】

Web技术的网络考试系统【2240字】

ASP技术开发Web数据库检索程序【1514字】

ASP.NET的Web网络應用程序开...

老年2型糖尿病患者运动疗...

互联网教育”变革路径研究进展【7972字】

张洁小说《无字》中的女性意识

网络语言“XX体”研究

ASP.net+sqlserver企业设备管理系统设计与开发

麦秸秆还田和沼液灌溉对...

LiMn1-xFexPO4正极材料合成及充放电性能研究

我国风险投资的发展现状问题及对策分析

安康汉江网讯

新課改下小學语文洧效阅...