1. 什么是RESTful
REST这个术语,是Roy Fielding 在Ph.D.论文中提出来的,它的全称是“Representational State Transfer.”REST描述了这么一个架构:利用标准的http 协议中的 get, post, put,delete 来请求和操作网络上的资源。
在REST中,资源的意思就是一个基于URL实体,客户端可以通过 http协议来和它进行交互。这个资源可以用各种形式来展示给客户端,如 HTML,XML,RSS,主要依赖于客户端的调用方式。并不像以往的Rails开发那样,用REST方式,一个 url 不是指定一个 model 或者 action, 一个 url 仅仅是资源的本身而已。
REST架构遵循了CRUD原则,CRUD原则对于资源只需要四种行为:Create(创建)、Read(读取)、Update(更新)和Delete(删除)就可以完成对其操作和处理。这四个操作是一种原子操作,即一种无法再分的操作,通过它们可以构造复杂的操作过程,正如数学上四则运算是数字的最基本的运算一样。
REST架构让人们真正理解我们的网络协议HTTP本来面貌,对资源的操作包括获取、创建、修改和删除资源的操作正好对应HTTP协议提供的GET、POST、PUT和Delete方法,因此REST把HTTP对一个URL资源的操作限制在GET、POST、PUT和Delete这四个之内。这种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
REST的设计准则
REST架构是针对Web应用而设计的,其目的是为了降低开发的复杂性,提高系统的可伸缩性。
REST提出了如下设计准则:
·网络上的所有事物都被抽象为资源(resource);
·每个资源对应一个唯一的资源标识符(resource identifier);
·通过通用的连接器接口(generic connector interface)对资源进行操作;
·对资源的各种操作不会改变资源标识符;
·所有的操作都是无状态的(stateless);
使用REST架构
对于开发人员来说,关心的是如何使用REST架构,这里我们来简单谈谈这个问题。REST不仅仅是一种崭新的架构,它带来的更是一种全新的Web开发过程中的思维方式:通过URL来设计系统结构。REST是一套简单的设计原则、一种架构风格(或模式),不是一种具体的标准或架构。REST有很多成功的使用案例,著名的Delicious和Flickr都提供基于REST风格的API使用,客户端调用也极其方便,参考第四章基于JAX-RS的具体实现,从中可以看出REST是多么的简单易用。
分享到:
相关推荐
基于 RESTful 架构的 API 设计原则和规范 RESTful 架构是目前最流行的一种互联网软件架构,它结构清晰、符合标准、易于理解、扩展方便,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。因此...
基于Restful架构和Spring框架的Web服务研究,黄佑夫,李建强,伴随着Web技术的飞速发展,Restful架构作为一种分布式系统设计的软件架构风格,将资源和资源的表示两者分割,为构建轻量级、高性能��
Roy Fielding 的博客“架构风格和基于网络的软件架构设计”介绍和整理了“RESTful”系统的思想和相关术语。这是篇学术论文,虽然使正式语气,但是仍然易于理解并且提供了实践基础。 RESTful 的特性 ---------------...
这个API服务器的核心目标是为前端提供数据接口,实现基于RESTful架构的HTTP服务。 **RESTful架构** 是一种网络应用程序的设计风格和开发方式,基于HTTP协议,以资源为中心,通过统一的URI(Uniform Resource ...
- **ROA (Resource-Oriented Architecture)**:这是一种围绕资源构建架构的设计思想,RESTful架构正是基于ROA原则的。 - **SOA (Service-Oriented Architecture)**:这是一种架构模式,它将应用程序的不同功能单元...
RESTful架构是资源表示状态转移的缩写,是目前广泛采用的Web服务设计模式。在杰克博客API服务器中,这种架构体现在各个HTTP方法(GET、POST、PUT、DELETE等)对应不同的资源操作上,例如GET用于获取博客文章,POST...
基于Spring Boot,采用RESTful风格架构的微信点餐系统源码(高分毕设).zip 基于Spring Boot,采用RESTful风格架构的微信点餐系统源码(高分毕设).zip 基于Spring Boot,采用RESTful风格架构的微信点餐系统源码...
基于Spring Boot为主线的技术栈,采用RESTful风格架构的微信点餐系统 基于Spring Boot为主线的技术栈,采用RESTful风格架构的微信点餐系统 基于Spring Boot为主线的技术栈,采用RESTful风格架构的微信点餐系统 基于...
RESTful架构是一种基于HTTP协议的软件架构风格,用于构建分布式系统,尤其是Web应用程序。这个概念由Roy Fielding在他的博士论文中提出,目的是为了创建高效、可伸缩的网络应用程序,同时充分利用现有的Web标准。 1...
总结来说,RESTful架构提供了一种简洁、灵活的互联网软件设计模式,侧重于资源的管理和状态转换。Hessian作为RPC实现,提供了高效、轻量级的远程调用方案。而WebService和CXF则是为了实现跨平台服务交互,其中CXF...
本文详细介绍了基于RESTful Web Services的智能报表系统设计,旨在提高企业总部与分支机构之间的报表数据交换效率,降低报表系统客户端与服务器之间的耦合度,并且讨论了报表系统中的数据交换效率问题和RESTful架构...
总的来说,基于RESTful架构的RSS订阅服务利用了RESTful的轻量级特性和RSS的信息聚合功能,提供了快速获取和分发网络内容更新的方式。在.NET平台上,通过WCF工具,开发者可以便捷地实现RESTful服务,结合RSS技术,...
这篇论文定义了一个框架,致力于通过架构风格来理解软件架构,并且展示如何使用风格来指导基于网络的应用的架构设计。本文使用了一个对基于网络的应用的架构风格的调查,根据不同的风格在分布式超媒体的架构中所导致...
基于RESTful Web Services的智能家居管理系统设计与实现涉及了当前智能家居技术的发展趋势、物联网技术的应用、异构网络互联的解决方法、以及如何提升用户体验等方面的知识。 首先,智能家居系统的发展趋势从传统的...
RESTful 架构是一种设计风格,用于构建网络应用,强调资源的表述状态转移。在本教程中,我们将探讨如何使用 SpringMVC 实现基于 RESTful 风格的 CRUD(Create、Read、Update、Delete)操作。 **CRUD 操作概述** ...
RESTful架构是一种网络应用程序的设计风格和开发方式,它基于HTTP协议,强调了资源的状态转换,使得Web服务更易于被理解和使用。在这个总结中,我们将深入探讨RESTful架构的核心概念、设计原则以及如何在实际项目中...
【基于Servlet的游戏商城】是一个利用Java Servlet技术构建的在线游戏交易平台,采用了RESTful架构风格,旨在提供高效、可扩展的电商服务。项目通过Maven进行模块化管理和构建,遵循了传统的三层架构设计原则,包括...
在这个名为“基于RestFul点餐系统”的压缩包中,我们可以推测其中包含了设计一个高效、易用的点餐系统的相关资料。"design-master"这个文件名可能是指设计源码或者设计方案的主目录,暗示了我们将深入探讨RestFul...
RESTful架构详解 REST(Representational State Transfer,表述性状态转移)是一种软件架构风格,它设计用于构建基于HTTP协议的Web服务。这种风格强调资源、状态转移和统一接口,使得Web服务更加简洁、高效和可扩展...