什么是RESTful Web Services?

RESTful web services are built to work best on the Web. Representational State Transfer (REST) is an architectural style that specifies constraints, such as the uniform interface, that if applied to a web service induce desirable properties, such as performance, scalability, and modifiability, that enable services to work best on the Web. In the REST architectural style, data and functionality are considered resources and are accessed using Uniform Resource Identifiers (URIs), typically links on the Web. The resources are acted upon by using a set of simple, well-defined operations. The REST architectural style constrains an architecture to a client/server architecture and is designed to use a stateless communication protocol, typically HTTP. In the REST architecture style, clients and servers exchange representations of resources by using a standardized interface and protocol.

Restful web services 为的是在Web上工作的最好而创建的工具。Representational State Transfer (REST)是一种指定约束的设计风格,例如统一接口,它如果应用到webservice上将带来一些合适的特性,例如性能,可扩展性和可修改性,这些属性能够使services在Web上工作的最好。使用Rest设计风格,数据和功能都是被慎重考虑过的资源并且是通过Uniform Resource Identifiers (URIs) 来访问的。就像在Web上的链接。这些资源是按照一些简单并很好定义的的操作来采取行动的。Rest设计风格约束客户端/服务端统一用一种样式并且被设计成用一种无状态的通信协议,例如HTTP。在Rest的风格中,客户和服务端的交换代表资源用都在用标准的接口和协议。

The following principles encourage RESTful applications to be simple,lightweight, and fast:

如下规则鼓励Restful应用变的简单,轻重量,和迅速:


Resource identification through URI: A RESTful web service exposes a set of resources that identify the targets of the interaction with its clients. Resources are identified by URIs, which provide a global addressing space for resource and service discovery. SeeThe@PathAnnotation and URI Path Templatesfor more information.

资源通过URI定义:一个RESTful的 web service暴露一组资源用来鉴定和客户端交互的范围。资源通过URI来定义,这就提供了一个全球的地址空间来发现资源和服务。想要获得更多信息请查看The@PathAnnotation and URI Path Templates

Uniform interface: Resources are manipulated using a fixed set of four create, read, update, delete operations:PUT,GET,POST, andDELETE.PUTcreates a new resource, which can be then deleted by usingDELETE.GET retrieves the current state of a resource in some representation.POST transfers a new state onto a resource. See Responding to HTTP Methods and  Requestsfor more information.

统一接口:资源被一组4个已经被定义好的操作来操纵,create,read,update,delete:PUT,GET,POST,和DELETE。PUT创建一个新资源,可以通过DELETE删除。GET 用来获取一些表达式中的当前状态。POST 传递新的状态到一个资源。想要获得更多信息请查看 Responding to HTTP Methods and


Self-descriptive messages: Resources are decoupled from their representation so that their content can be accessed in a variety of formats, such as HTML, XML, plain text, PDF, JPEG, JSON, and others. Metadata about the resource is available and used, for example, to control caching, detect transmission errors, negotiate the appropriate representation format, and perform authentication or access control. SeeResponding to HTTP Methods and RequestsandUsing Entity Providers to Map HTTP Response and Request

Entity Bodiesfor more information.


自我描述消息:资源和他们的表达式并不挂钩因此它们内容的存取可以通过各种形式,例如 HTML,XML 纯文本,PDF,JPEG,JSON或者其它的形式。关于资源的元数据是有效并使用过的,例如,对于控制缓存,探测查询错误,协商适当的数据格式,执行验证或是控制权限。想要获得更多信息请查看Responding to HTTP Methods and RequestsandUsing Entity Providers to Map HTTP Response and Request


Stateful interactions through hyperlinks: Every interaction with a resource is stateless; that is, request messages are self-contained. Stateful interactions are based on the concept of explicit state transfer. Several techniques exist to exchange state, such as URI rewriting, cookies, and hidden form fields. State can be embedded in response messages to point to valid future states of the interaction. SeeUsing Entity Providers to Map HTTP Response and Request Entity Bodies and “Building URIs” in the JAX-RS Overview document for more information.

通过超链接实现状态交互:每次用资源进行交互都是无状态的,也就是,请求消息是独立的。状态交互是基于显式状态传输的概念。有一些技术是专门用来传输状态的,例如 URI 获取,cookies和隐藏表单,状态可以嵌套在返回消息中去指出有效的未来状态。想要获得更多信息请查看Using Entity Providers 去了解 HTTP返回和请求实体和“Building URIs” 在 JAX-RS 预览文件中获得更多的信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139
  • 一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式。”但是在要求详细讲述它所提出的各个约束,以及如...
    时待吾阅读 3,408评论 0 19
  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 9,369评论 0 23
  • 017年第4期百人工程 47号 Susie 2017年6月23号打卡 1.【音频】清华幼儿英语 1a Unit1-...
    029108296e5b阅读 167评论 0 0
  • 过简简单单的日子,和喜欢的人走遍世界。 表哥结婚的日子,远着远着就到了。早晨天刚亮的时候,被一个特别的电话叫醒,于...
    先生笔记阅读 512评论 0 2