“REST”是罗伊·菲尔丁(Roy Fielding)在他的博士论文中创造的缩写。菲尔丁论文的第5章勾画出了被称为REST风格或REST式的Web服务的知道原则。他是HTTP1.1规范的主要作者和Apache软件基金会的创世人之一。

REST和SOAP有很大的区别。SOAP是一种消息传递协议,其中的消息是XML文档,而REST是一种软件架构的风格。它用于分布式超媒体系统,或以文字,图形,音频和其他媒体格式存储在网络,并通过超链接互联的系统中。万维网就是一个例子。在Web中,HTTP既是传输协议又是消息传递系统,因为HTTP请求和响应的东西就是消息。HTTP消息的有效载荷可以使用MIME(Multipurpose Internet Mail Extension,多用途互联网邮件扩展)类型系统。MIME类型有诸如text/html,application/octet-stream和audio/mpeg3等。

REST表示具象状态传输(REpresentational State Transfer),在REST的抽象概念中,“资源”未在缩写中出现。在REST式意义上的资源(resource)是指某个通过HTTP访问的东西,因为这个东西有一个名字,那就是URI(Uniform Resource Identifier,统一资源表示符)。URI有两个子类型:一个是我们熟悉的URL,它指定一个位置(location);另一个是URN,只是一个符号的名字,但不是一个位置。URI是统一(Uniform)的,因为他们必须以某种方式被构造,有对应URI的语法(syntax)。总之,URI是对某个资源的规范名称。

REST式的web服务的更多相关文章

  1. 基于 REST 的 Web 服务:基础

    代表性状态传输(Representational State Transfer,REST)在 Web 领域已经得到了广泛的接受,是基于 SOAP 和 Web 服务描述语言(Web Services D ...

  2. Web服务端软件的服务品质概要

    软件品质概述 提供同样功能.产品和服务的服务者中, 竞争力来自功能的多样化和服务品质的差异化, 无论是个体.企业还是国家. 这里的服务指功能.产品的实现程度和处理能力,以及研发/客服提供的技术支持程度 ...

  3. Web 服务编程,REST 与 SOAP(转)

    原文地址:Web 服务编程,REST 与 SOAP REST 简介 在开始我们的正式讨论之前,让我们简单看一下 REST 的定义. REST(Representational State Transf ...

  4. 从开发的角度比较 ASP.NET Web 服务与 WCF

    Windows Communication Foundation (WCF) 具有一个 ASP.NET 兼容模式选项,用户使用此选项可以对 WCF 应用程序进行编程和配置,使其像 ASP.NET We ...

  5. 《Introduction to Tornado》中文翻译计划——第五章:异步Web服务

    http://www.pythoner.com/294.html 本文为<Introduction to Tornado>中文翻译,将在https://github.com/alioth3 ...

  6. 利用 Apache Synapse 模拟 Web 服务

    Apache Synapse 是一个简单.轻量级的高性能企业服务总线 (ESB),它是在 Apache Software Foundation 的 Apache License Version 2.0 ...

  7. WCF服务部署到IIS上,然后通过web服务引用方式出现错误的解决办法

    本文转载:http://www.cnblogs.com/shenba/archive/2012/01/06/2313932.html 昨天在用IIS部署一个WCF服务时,碰到了如下错误: 理解了文档内 ...

  8. Webservices-1.web服务定义简介

    一.WEB服务定义(摘自维基百科)详情:http://zh.wikipedia.org/wiki/Web%E6%9C%8D%E5%8A%A1 Web服务是一种服务导向架构的技术,通过标准的Web协议提 ...

  9. 常见的三种Web服务架构

    常见的三种Web服务架构 转自http://www.cnblogs.com/bvbook/archive/2008/12/24/1360942.html 相互竞争的服务架构 The Competing ...

随机推荐

  1. python2/3 发送https请求时,告警关闭方法

    问题: 使用Python3 requests发送HTTPS请求,已经关闭认证(verify=False)情况下,控制台会输出以下错误: InsecureRequestWarning: Unverifi ...

  2. 3D打印产业链全景图

  3. 6. 网络信息API

    一.用数值表示socket地址&用名字表示socket地址(socket地址==>IP地址和端口号) 1. 用数值表示socket地址不便于记忆,也不便于扩展(比如从IPv4转移到IPv ...

  4. YQCB冲刺周第三天

    团队讨论照片 今天的任务为实现由用户记录一条数据,向数据库中添加一条数据. 遇到的问题为获取单选框.下拉菜单的参数.

  5. AOP:Spring的xml配置方式

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  6. UVALive - 6893 The Big Painting 字符串哈希

    题目链接: http://acm.hust.edu.cn/vjudge/problem/129730 The Big Painting Time Limit: 5000MS 题意 给你一个模板串和待匹 ...

  7. Mac下Git的基础操作

    目前最火的版本控制软件是Git了吧,今天简单梳理一下Mac下Git的基础操作~~ 一.什么是Git Git是一个分布式代码管理工具,用于敏捷的处理或大或小的项目,类似的工具还有svn. 基于Git的快 ...

  8. 使用ASP.NET Identity 实现WebAPI接口的Oauth身份验证

    使用ASP.NET Identity 实现WebAPI接口的Oauth身份验证   目前WEB 前后端分离的开发模式比较流行,之前做过的几个小项目也都是前后分离的模式,后端使用asp.net weba ...

  9. delphi self 的使用

    delphi之self 在使用delphi的对象技术的时候,经常会看到一个词汇:self,它到底指的是什么呢? 我们还要从对象与类的关系谈起. 类是对将要创建的对象的性质的描述,是一种文档.这很重要: ...

  10. Android四大组件之contentProvider

    Activity,Service,broadcast and Contentprovider android 4 大组件. ContentProvider:使用: public class Image ...