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是多么的简单易用。
分享到:
相关推荐
api 设计规范文档。基于RestFul。
基于Restful架构和Spring框架的Web服务研究,黄佑夫,李建强,伴随着Web技术的飞速发展,Restful架构作为一种分布式系统设计的软件架构风格,将资源和资源的表示两者分割,为构建轻量级、高性能��
Jackblog API Server Express版, 个人博客系统, 基于RESTful架构
Jackblog API Server Koa 版, 个人博客系统, 基于RESTful架构,
基于Spring Boot,采用RESTful风格架构的微信点餐系统源码(高分毕设).zip 基于Spring Boot,采用RESTful风格架构的微信点餐系统源码(高分毕设).zip 基于Spring Boot,采用RESTful风格架构的微信点餐系统源码...
基于Spring Boot为主线的技术栈,采用RESTful风格架构的微信点餐系统 基于Spring Boot为主线的技术栈,采用RESTful风格架构的微信点餐系统 基于Spring Boot为主线的技术栈,采用RESTful风格架构的微信点餐系统 基于...
[基于servlet的游戏商城]本项目使用maven进行项目管理、采用restful架构风格以及三层架构设计思想进行编写的一套完整的游戏商城,
基于RESTful Web Services的智能家居管理系统设计与实现.pdf
这篇论文定义了一个框架,致力于通过架构风格来理解软件架构,并且展示如何使用风格来指导基于网络的应用的架构设计。本文使用了一个对基于网络的应用的架构风格的调查,根据不同的风格在分布式超媒体的架构中所导致...
分析了Windows Communication Foundation RESTful架构在资源调用、特定环境下服务集成、数据传输等方面的优势。结合WCF分布式网络的开发工具,详细阐述了在.NET平台下对RSS技术的融合和支持,并通过实例进一步说明...
RESTful架构: (1)每一个URI代表一种资源; (2)客户端和服务器之间,传递这种资源的某种表现层(Representation); (3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。 Hessian:...
毕设项目-基于Spring Boot为主线的技术栈,采用RESTful风格架构的微信点餐系统源码.zip毕设项目-基于Spring Boot为主线的技术栈,采用RESTful风格架构的微信点餐系统源码.zip毕设项目-基于Spring Boot为主线的技术栈...
基于RESTful Web的智能家居系统应用.pdf
SpringBoot实现的基于Restful架构,简单的配置SpringBoot,实现其接口,供其它平台调用。
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用!...小说阅读器与采集系统源码+项目说明(基于node-koa的开源小说系统前端vue-ssr,后端RestfulAPI 架构.jwt身份认证,redis和mysql的存储系统).zip
#资源达人分享计划#