rest软件架构

RESTful-1概述

故事扮演 提交于 2020-03-25 06:34:49
一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 概述 REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,Roy Fielding是 HTTP 规范的主要编写者之一。在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更加简单轻量的方法设计和实现。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。 [1] 原则条件 REST 指的是一组架构 约束条件 和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。 Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合 云计算 之类的环境

REST和SOAP

孤人 提交于 2020-03-23 04:08:24
转自:http://blog.csdn.net/smstong/article/details/5312136 我感觉维基百科说的REST解释的就听明白的,摘录下来: 含状态传输 (英文: Representational State Transfer ,简称 REST )是 Roy Fielding 博士在2000年他的博士论文中提出来的一种软件架构风格。 目前在三种主流的Web服务实现方案中,因为REST模式与复杂的SOAP和XML-RPC相比更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如, Amazon.com 提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。 要点及标准 需要注意的是,REST是设计风格而 不是 标准。REST通常基于使用 HTTP , URI ,和XML以及HTML这些现有的广泛流行的协议和标准。 资源是由URI来指定。 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。 通过操作资源的表现形式来操作资源。 资源的表现形式则是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式 关于状态 应该注意区别应用的状态和连接协议的状态。HTTP连接是无状态的

Rest API 开发

会有一股神秘感。 提交于 2020-03-23 04:08:03
概述 REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式。获得这些表徵致使这些应用程序转变了其状态。随着不断获取资源的表示方式,客户端应用不断地在转变着其状态,所谓表述性状态转移(Representational State Transfer)。 这一观点不是凭空臆造的,而是通过观察当前Web互联网的运作方式而抽象出来的。Roy Fielding 认为, “设计良好的网络应用表现为一系列的网页,这些网页可以看作的虚拟的状态机,用户选择这些链接导致下一网页传输到用户端展现给使用的人,而这正代表了状态的转变。” REST是设计风格而 不是 标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。 资源是由URI来指定。 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。 通过操作资源的表现形式来操作资源。 资源的表现形式则是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式。 REST的要求 客户端和服务器结构 连接协议具有无状态性 能够利用Cache机制增进性能 层次化的系统 隨需代碼 - Javascript (可選) RESTful Web 服务

全新Web开发风格-REST架构介绍

折月煮酒 提交于 2020-03-23 03:36:38
REST架构风格是全新的针对Web应用的开发风格,是当今世界最成功的 互联网 超媒体分布式系统架构,它使得人们真正理解了Http 协议 本来面貌。随着REST架构成为主流技术,一种全新的 互联网 网络应用开发的思维方式开始流行。     REST是什么      REST是英文Representational State Transfer的缩写,中文翻译为“表述性状态转移”,他是由Roy Thomas Fielding博士在他的论文 《Architectural Styles and the Design of Network-based Software Architectures》中提出的一个术语。REST本身只是为分布式超媒体系统设计的一种架构风格,而不是标准。     基于Web的架构,实际上就是各种规范的集合,这些规范共同组成了Web架构。比如Http 协议 ,比如客户端 服务器 模式,这些都是规范。每当我们在原有规范的基础上增加新的规范,就会形成新的架构。而REST正是这样一种架构,他结合了一系列的规范,而形成了一种新的基于Web的架构风格。     传统的Web应用大都是B/S架构,它包括了如下一些规范 .客户- 服务器 。     这种规范的提出,改善了用户接口跨多个平台的可移植性,并且通过简化服务器组件,改善了系统的可伸缩性。最为关键的是通过分离用户接口和数据

Restful是什么,SOAP Webservice和RESTful Webservice

一笑奈何 提交于 2020-03-23 03:31:32
  首先,应该怀着这样一种心态来学习Restful——Restful你可以将其理解一种软件架构风格,并且诠释了Http协议的设计初衷,所以不要把他理解的那么神秘,Restful风格有好处,当然也是有坏处的。   然后是正文(转的): 在SOA的基础技术实现方式中WebService占据了很重要的地位,通常我们提到WebService第一想法就是SOAP消息在各种传输协议上交互。近几年REST的思想伴随着SOA逐渐被大家接受,同时各大网站不断开放API提供给开发者,也激起了REST风格WebService的热潮。 SOAP 什么是SOAP,我想不用多说,google一把满眼都是。其实SOAP最早是针对RPC的一种解决方案,简单对象访问协议,很轻量,同时作为应用协议可以基于多种传输协议来传递消息(Http,SMTP等)。但是随着SOAP作为WebService的广泛应用,不断地增加附加的内容,使得现在开发人员觉得SOAP很重,使用门槛很高。在SOAP后续的发展过程中,WS-*一系列协议的制定,增加了SOAP的成熟度,也给SOAP增加了负担。 REST REST其实并不是什么协议也不是什么标准,而是将Http协议的设计初衷作了诠释,在Http协议被广泛利用的今天,越来越多的是将其作为传输协议,而非原先设计者所考虑的应用协议。SOAP类型的WebService就是最好的例子

RESTful Web 服务四种操作POST/DELETE/PUT/GET

*爱你&永不变心* 提交于 2020-03-11 11:24:03
前言 关于REST及RESTful的概念,已有不少文章介绍,这里整理几篇我觉得不错的参考: 维基百科的定义: REST 什么是REST跟RESTful? REST理论的中文详述,其中你可以了解到WCF Restful属于RPC 样式的 Web 服务,ASP.NET Web API属于RESTful Web 服务。 深入浅出REST InfoQ的专文介绍,文中甚至有Roy T. Fielding当年REST博士论文的中文翻译链接。另外值得一提的,大家可能没听过Roy Fielding的大名,但如果得知他是HTTP规格的主要作者及Apache HTTP Server项目的发起人之一,应该不会有人怀疑他在Web技术领域的分量。 上面的文章建议大家认真的读一下,这里我们简要的介绍下REST 做入门介绍,理解整个 REST 能让我们在 ASP.NET Web API 的路上更顺畅。 REST是什么? REST ( REpresentational State Transfer ),State Transfer 为 “状态传输” 或 "状态转移 “,Representational 中文有人翻译为"表征”、“具象”,合起来就是 “表征状态传输” 或 “具象状态传输” 或 “表述性状态转移”,不过,一般文章或技术文件都比较不会使用翻译后的中文来撰写,而是直接引用 REST 或 RESTful

对REST的一些理解

谁都会走 提交于 2020-03-02 14:00:02
昨天学习REST,发现有篇文章写的真心不错,看了一遍,并没有完全理解,将一些感觉比较重要的做个记录。 文章链接: REST简介 定义 Representational State Transfer (REST) is a software architecture style consisting of guidelines and best practices for creating scalable web services. REST is a coordinated set of constraints applied to the design of components in a distributed hypermedia system that can lead to a more performant and maintainable architecture. 简单解释一下(个人理解,不一定准确): 1、REST:Representational State Transfer,表现状态传送。 2、REST是一种软件架构风格,是构建可扩展的web services的最佳实践和指导方针。 3、REST是软件构建的一组约束,目标是为了创建具有良好扩展性的分布式系统。 约束 REST提出一系列架构级约束,摘录如下: 1、使用客户/服务器模型

RESTful协议【软件架构】

折月煮酒 提交于 2020-03-01 08:39:49
概述 REST(英文: Representational State Transfer ,简称 REST )描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一。 在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更加简单轻量的方法设计和实现。 值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。 原则条件 REST 指的是一组架构 约束条件 和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。 Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合 云计算 之类的环境。客户端可以缓存数据以改进性能。 在服务器端,应用程序状态和功能可以分为各种资源。资源是一个有趣的概念实体,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用 URI

RESTful Web服务的操作

你。 提交于 2020-01-02 04:02:48
1.首先我们说一下Http协议是无状态的 HTTP协议是无状态的,我们看到查到的用到的返回404,500,200,201,202,301.这些不是HTTP协议的状态码。 是HTTP的状态码,就是HTTP请求服务器返回的状态码。HTTP协议和HTTP请求返回状态码是二回事。 HTTP请求方法并不是只有GET和POST,只是最常用的。据RFC2616标准(现行的HTTP/1.1)得知,通常有以下8种方法:OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE和CONNECT。 HTTP请求方法并不是只有GET和POST,只是最常用的。据RFC2616标准(现行的HTTP/1.1)得知,通常有以下8种方法:OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE和CONNECT。 HTTP请求方法并不是只有GET和POST,只是最常用的。据RFC2616标准(现行的HTTP/1.1)得知,通常有以下8种方法:OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE和CONNECT。 重要的事情说三遍 2.现在比较流行的RSETful Web服务架构 关于REST及RESTful的概念,已有不少文章介绍,这里整理几篇我觉得不错的参考: 维基百科的定义: REST 什么是REST跟RESTful? REST理论的中文详述

WCF实现REST服务

醉酒当歌 提交于 2020-01-02 02:12:53
REST 表述性状态转移( Representational State Transfer,REST ),不是一种标准,而是一种软件架构风格。 基于 REST 的服务与基于 SOAP 的服务相比,性能、效率和易用性上都更高,而 SOAP 协议非常的复杂和不透明。 REST 受到越来越多的 Web 服务供应商欢迎。目前大部分供应商,如 yahoo 、 google 、 Amazon 等都提供 REST 风格的服务。 REST 的主要原则是: 1.网络上的所有事物都可被抽象为资源; 2.每个资源都有一个唯一的资源标识符 URI; 3.使用标准方法操作资源; 4.所有的操作都是无状态的; 5.通过缓存来提高性能。 REST 是基于 Http 协议的,任何对资源的操作行为都是通过 Http 协议来实现。 Http 把对一个资源的操作限制在 4 个方法以内: GET、POST、PUT 和 DELETE ,这正是对资源 CRUD 操作的实现。 REST 的资源表述形式可以是 XML 、 HTML 、 JSON ,或者其他任意的形式,这取决于服务提供商和消费服务的用户。 但是 REST 不是万能的。操作无状态也会带来巨大的安全问题,如何授权和验证用户?如果要求每次请求都包含完整的身份和验证信息,又如何避免信息泄漏?复杂的功能挑战架构的易用性,这就需要在性能与功能间权衡