`

理解RESTful架构

 
阅读更多
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。
这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。
网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发在互联网环境中使用的软件。



RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。
但是,到底什么是RESTful架构,并不是一个容易说清楚的问题。下面,我就谈谈我理解的RESTful架构。
一、起源
REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。

Fielding是一个非常重要的人,他是HTTP协议(1.0版和1.1版)的主要设计者、Apache服务器软件的作者之一、Apache基金会的第一任住席。所以,他的这篇论文一经发表,就引起了关注,并且立即对互联网开发产生了深远的影响。
他这样介绍论文的写作目的:

引用
"本文研究计算机科学两大前沿----软件和网络----的交叉点。长期以来,软件研究主要关注软件设计的分类、设计方法的演化,很少客观地评估不同的设计选择对系统行为的影响。而相反地,网络研究主要关注系统之间通信行为的细节、如何改进特定通信机制的表现,常常忽视了一个事实,那就是改变应用程序的互动风格比改变互动协议,对整体表现有更大的影响。我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。"
(This dissertation explores a junction on the frontiers of two research disciplines in computer science: software and networking. Software research has long been concerned with the categorization of software designs and the development of design methodologies, but has rarely been able to objectively evaluate the impact of various design choices on system behavior. Networking research, in contrast, is focused on the details of generic communication behavior between systems and improving the performance of particular communication techniques, often ignoring the fact that changing the interaction style of an application can have more impact on performance than the communication protocols used for that interaction. My work is motivated by the desire to understand and evaluate the architectural design of network-based application software through principled use of architectural constraints, thereby obtaining the functional, performance, and social properties desired of an architecture. )


参考:http://www.ruanyifeng.com/blog/2011/09/restful
分享到:
评论

相关推荐

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

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

    RESTful 架构详解 _ 菜鸟教程2

    2. **理解RESTful架构** - **资源(Resource)与URI**:资源是网络上可被访问的任何对象,如用户信息、产品详情等。每个资源都有一个唯一的URI,如`https://example.com/users/123`,用于定位和访问该资源。URI应...

    基于 RESTful 架构的API设计原则和规范.docx

    RESTful 架构是目前最流行的一种互联网软件架构,它结构清晰、符合标准、易于理解、扩展方便,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。因此,设计 RESTful 架构的 API 需要遵循一定的...

    RESTful架构实战.docx

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

    RESTful架构风格概述

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

    谷歌浏览器restful请求插件

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

    RESTful Web APls中文版.pdf.zip

    这本书将帮助读者深入理解RESTful架构原则,掌握如何创建高效、可扩展且易于维护的API。 RESTful API设计的核心概念包括: 1. **资源(Resource)**:在RESTful架构中,一切皆资源,每个资源都有一个唯一的URI。...

    restful前后端分离开发笔记

    **理解RESTful架构** 在《理解RESTful架构》文档中,可能详细介绍了RESTful架构的基本概念、设计原则和最佳实践,包括如何定义资源、使用HTTP方法、处理状态码、设计合适的URL结构以及如何实现安全性和性能优化。...

    c# 服务端调用RestFul Service的方法

    这不仅可以帮助开发人员更好地理解 RESTful 架构风格,还能够提升系统集成能力和软件调试效率。当然,实际应用中可能还会涉及到更多的细节和技术优化,但本文提供的基础内容已经足够让初学者入门并实践。

    Restful-Service-And-Restful-Client-master.zip

    RESTful服务和客户端是现代Web应用开发中的重要概念,它基于HTTP协议,通过URI(统一资源标识符)来定位资源,使用HTTP动词...通过理解RESTful架构风格以及C#中与HTTP交互的相关技术,开发者可以高效地利用这个框架。

    PyPI 官网下载 | Flask-RESTful-0.3.5.tar.gz

    标题 "PyPI 官网下载 | Flask-RESTful-0.3.5.tar.gz" 提供的信息表明,这是一个从Python的官方包仓库...通过下载并学习其源代码,开发者可以深入理解RESTful架构的设计理念,以及Flask-RESTful是如何实现这些理念的。

    Restful-CRUD练习.zip

    Restful风格的CRUD练习资料主要涵盖了Web服务开发中的核心概念,特别是针对资源操作的创建(Create)、读取(Retrieve)、更新...通过这些练习,开发者能够深入理解RESTful架构,并提升构建高效、易用的Web服务的能力。

    RESTful架构总结

    RESTful架构是一种网络应用程序的设计风格和开发方式,它基于HTTP协议,强调了资源的状态转换,使得Web服务更易于被理解和使用。在这个总结中,我们将深入探讨RESTful架构的核心概念、设计原则以及如何在实际项目中...

    restful连通path路径的访问application

    首先,理解RESTful架构中的路径(Path)非常重要。Path通常被称为URI(统一资源标识符)的一部分,它用于唯一标识网络上的一个资源。在RESTful API中,路径是用来定位特定资源的关键元素。例如,`/users/123`表示...

    RESTful Web Service Demo

    首先,理解RESTful架构的关键概念: 1. 资源(Resource):在REST中,一切皆资源,通常由URI(Uniform Resource Identifier)唯一标识。在这个实例中,可能有一个名为"customer"的资源。 2. 统一接口:REST服务...

Global site tag (gtag.js) - Google Analytics