guodanhuai的个人博客分享 http://blog.sciencenet.cn/u/guodanhuai GIS,Spatio-temporal Analysis,Spatio-temoporal Data minig

博文

REST

已有 3857 次阅读 2009-11-17 16:53 |个人分类:Web Development|系统分类:科研笔记| REST, AJAX

关于 REST

REST(representational state transfer, 有人翻译成表象化状态转变)是Dr. Roy Fielding 在他博士论文(http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm)中提出来的一种软件架构风格。

目前在三种主流的Web Service实现方案中,因为REST模式的Web Service与复杂的SOAP和XML-RPC对比来将明显的更加简洁,越来越多的web Service开始采用REST风格设计和实现。Amazon.com提供解决REST
风格的Web服务进行图书查找;yahoo!提供的web service也是REST风格的。

REST从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表形。获得这些表形致使这些应用程序转变了其状态。随着不断获取资源的表形,客户端应用不断地在转变状态,所谓表形化的状态转变。

“设计良好的网络应用表现为一系列的网页,这些网页可以看作的虚拟的状态机,用户选择这些链接导致下一个网页传输到用户端展现给使用的人,而这正代表了状态的改变。”————Roy Fielding

REST是一种设计风格而不是一个标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。
  • 资源是由URI来指定
  • 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST和DELETE方法
  • 通过操作资源的表形来操作资源
  • 资源的表现形式是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。
REST的要求
  • 客户端和服务器结构
  • 连接协议具有无状态性
  • 能够利用cache机制增进性能
  • 层次化的系统
  • Code On Demand - Javascript
REST的优点
  • 可以利用缓存Cache来提高响应速度
  • 通讯本身的无状态性可以让不同的服务器的处理一系列请求中的不同请求,提高服务器的扩展性
  • 浏览器即可作为客户端,简化软件的需求
  • 相对于其他叠加在HTTP协议之上的机制,REST的软件依赖性更小
  • 不需要额外的资源发现机制
  • 在软件技术演进中的长期兼容性更好

Reference:
http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
http://zh.wikipedia.org/wiki/REST
http://www.infoq.com/cn/articles/rest-introduction



https://blog.sciencenet.cn/blog-204718-271699.html

上一篇:JAVA中文字体显示问题-以Geoserver为例
下一篇:Mashup学习笔记
收藏 IP: .*| 热度|

1 许浚远

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-17 20:51

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部