`
pluto418
  • 浏览: 169931 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

RESTful架构总结

阅读更多

RESTful架构(Representational State Transfer)

 

RESTful三要素

 

1. 资源(Resources)

REST的名称"表现层状态转化"中,省略了主语。"表现层"其实指的是"资源"(Resources)的"表现层"。

所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或独一无二的识别符。所谓"上网",就是与互联网上一系列的"资源"互动,调用它的URI。

 

2.表现层(Representation)

"资源"是一种信息实体,它可以有多种外在表现形式。我们把"资源"具体呈现出来的形式,叫做它的"表现层"(Representation)。比如,文本可以用txt格式表现,也可以用HTML格式、XML格式、JSON格式表现,甚至可以采用二进制格式;图片可以用JPG格式表现,也可以用PNG格式表现。URI只代表资源的实体,不代表它的形式。严格地说,有些网址最后的".html"后缀名是不必要的,因为这个后缀名表示格式,属于"表现层"范 畴,而URI应该只代表"资源"的位置。它的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段 才是对"表现层"的描述。

 

3.状态转化(State Transfer)

访问一个网站,就代表了客户端和服务器的一个互动过程。在这个过程中,势必涉及到数据和状态的变化。

互联网通信协议HTTP协议,是一个无状态协议。这意味着,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生"状态转化"(State Transfer)。而这种转化是建立在表现层之上的,所以就是"表现层状态转化"。客户端用到的手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。

 

什么是RESTful架构:

  (1)每一个URI代表一种资源;

  (2)客户端和服务器之间,传递这种资源的某种表现层;

  (3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。

 

RESTful误区:

      (1)URI包含动词。因为"资源"表示一种实体,所以应该是名词,URI不应该有动词

      (2)URL包含版本。同一种资源的不同表现形式,应该采用同一个URL。版本号可以在HTTP请求头信息的 Accpet字段进行区分

 

 

附件是 xstream + spring MVC 实现的Rest的WebService 示例

分享到:
评论

相关推荐

    RESTful架构实战.docx

    RESTful 架构实战 RESTful 架构是一种世界观,将信息提升为架构中的公共资源。通过 REST,可以实现系统的高性能、可伸缩、通用性、简单性、可修改性和可扩展等特性。本文将解释主要的 HTTP 操作,对 HTTP 响应码...

    RESTful架构风格概述

    ### RESTful架构风格概述 #### 1. RESTful架构风格 RESTful架构风格是由Roy T. Fielding在其2000年的博士学位论文中提出的。Fielding是HTTP/1.1协议设计者之一,他提出的REST架构风格凭借其简洁性和可扩展性受到了...

    spark研究分析&restful架构

    ### Spark研究分析&RESTful架构 #### 一、Spark研究分析 ##### 1.1 Spark简介 Spark 是一种快速、通用的大规模数据处理系统。它最初由美国加州大学伯克利分校(UC Berkeley)的 AMPLab 开发,并于 2010 年正式开源...

    理解RESTful架构、Hessian简介、机制、Webservice及cxf介绍

    总结来说,RESTful架构提供了一种简洁、灵活的互联网软件设计模式,侧重于资源的管理和状态转换。Hessian作为RPC实现,提供了高效、轻量级的远程调用方案。而WebService和CXF则是为了实现跨平台服务交互,其中CXF...

    Restful架构的学习

    这是一片简单的关于restful学习内容,本人零基础,通过百度学习后总结的,希望可以对浏览的同学有所帮助。

    SpringMVC 使用 RESTful 架构实现 CRUD 操作

    总结,SpringMVC 结合 RESTful 架构可以轻松地创建高效、可维护的 Web 服务,支持 CRUD 操作。通过定义合适的控制器方法、URL 映射和使用 HTTP 方法,我们可以构建出符合 RESTful 原则的应用。在实践中,还需要考虑...

    restful架构详解

    总结,RESTful架构通过HTTP方法和状态码实现资源的操作,结合JSON等格式传递数据,实现了简单、高效、可扩展的Web服务。理解和应用RESTful设计原则,能够帮助开发者构建出高质量的API。在实际项目中,我们还需要关注...

    RESTful 架构基础.docx

    站在更高的维度做架构,来自一线互联网大厂的经验总结,少走弯路少踩坑,值得拥有。

    解析Restful Web Service架构

    统一接口是RESTful架构的核心特征之一,它规定了客户端和服务端之间的交互方式。主要包括以下几点: - 使用标准的HTTP方法来表达对资源的操作,如GET用于获取资源,POST用于创建资源等。 - 利用URI来指定操作的资源...

    Jackblog API Server Express版, 个人博客系统, 基于RESTful架构

    RESTful架构是资源表示状态转移的缩写,是目前广泛采用的Web服务设计模式。在杰克博客API服务器中,这种架构体现在各个HTTP方法(GET、POST、PUT、DELETE等)对应不同的资源操作上,例如GET用于获取博客文章,POST...

    关于Restful协议和原理最强科普.docx

    Restful 协议和原理知识点总结 .Restful 协议简介 Restful 协议是一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,...

    RESTful Architecture

    RESTful架构风格,即Representational State Transfer(表述性状态转移)架构风格,首先并不是一种可以购买的技术或可以添加到软件开发项目中的库。它首先是一种世界观,这种观念将信息提升为我们在构建的架构中的第...

    谷歌浏览器restful请求插件

    **谷歌浏览器RESTful请求插件** 谷歌浏览器RESTful请求插件是...通过这个插件,用户可以方便地发起REST请求,测试和调试API,同时学习和理解RESTful架构风格。无论是在前端还是后端开发过程中,它都能提供极大的便利。

    Roy Thomas Fielding博士论文REST(中文版)

    Fielding博士在论文中提出了RESTful架构风格的概念,RESTful架构风格是一种基于资源的架构风格,它强调了资源的概念和资源之间的交互。 RESTful架构风格的主要特点是: * 资源是架构的基本元素 * 客户端和服务器...

    RESTful Java Web Services

    3. **客户端-服务器模型**:RESTful架构将应用程序逻辑与数据存储分离,允许客户端负责用户界面,而服务器端则专注于数据管理和服务提供。 4. **可缓存性**:RESTful服务可以被标记为可缓存或不可缓存,这有助于...

    SpringBoot RESTful API 架构风格实践.docx

    ### SpringBoot RESTful API 架构风格实践 #### 1. RESTful API 概述 ##### 1.1 什么是 RESTful API REST (Representational State Transfer) 是一种软件架构风格,它定义了一系列规则和约束条件,用于构建分布式...

    自己对RESTful风格的理解

    RESTful架构的核心理念可以总结为以下几点: 1. 统一接口:所有资源都通过统一接口进行访问,这些接口通过HTTP方法来区分,比如使用GET方法来获取资源、使用POST方法来创建资源、使用PUT方法来更新资源、使用DELETE...

Global site tag (gtag.js) - Google Analytics