当前位置: 首页 > news >正文

预售网站开发郑州网站策划

预售网站开发,郑州网站策划,运河建设管理有限公司网站,网站失败后怎么重新建设表征状态转移(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。 目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RP…

表征状态转移(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。

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

宗旨

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 (可选)

关于状态

应该注意区别应用的状态和连接协议的状态。REST对于连接的无状态性实际上要求每次经过无状态的连接协议传送的信息必须包含应用中所有的状态信息。

RESTful Web 服务

RESTful Web 服务(也称为 RESTful Web API)是一个使用HTTP并遵循REST原则的Web服务。它从以下三个方面资源进行定义:

  • URI,比如:http://example.com/resources/
  • Web服务接受与返回的互联网媒体类型,比如:JSON,XML ,YAML 等。
  • Web服务在该资源上所支持的一系列请求方法(比如:POST,GET,PUT或DELETE)。

该表列出了在实现RESTful Web 服务时HTTP请求方法的典型用途。

HTTP 请求方法在RESTful Web 服务中的典型应用[1]
资源GETPUTPOSTDELETE
一组资源的URI,比如http://example.com/resources/列出 URI,以及该资源组中每个资源的详细信息(后者可选)。使用给定的一组资源替换当前整组资源。在本组资源中创建/追加一个新的资源。 该操作往往返回新资源的URL。删除整组资源。
单个资源的URI,比如http://example.com/resources/142获取 指定的资源的详细信息,格式可以自选一个合适的网络媒体类型(比如:XML、JSON等)替换/创建指定的资源。并将其追加到相应的资源组中。把指定的资源当做一个资源组,并在其下创建/追加一个新的元素,使其隶属于当前资源。删除指定的元素。

PUT 和 DELETE 方法是幂等方法。GET方法是安全方法 (不会对服务器端有修改,因此也是幂等的)。

不像基于SOAP的Web服务,RESTful Web服务并没有的“正式”标准[2]。 这是因为REST是一种架构,而SOAP只是一个协议。虽然REST不是一个标准,但在实现RESTful Web服务时可以使用其他各种标准(比如HTTP,URL,XML,PNG等)。

实现举例

例如,一个简单的网络商店应用,

列举所有商品,

GET http://www.store.com/products 

具体某一件商品,

GET http://www.store.com/product/12345 

下单购买,

POST http://www.store.com/order <purchase-order> <item> ... </item> </purchase-order> 

REST的优点

  • 可以利用缓存Cache来提高响应速度
  • 通讯本身的无状态性可以让不同的服务器的处理一系列请求中的不同请求,提高服务器的扩展性
  • 浏览器即可作为客户端,简化软件需求
  • 相对于其他叠加在HTTP协议之上的机制,REST的软件依赖性更小
  • 不需要额外的资源发现机制
  • 在软件技术演进中的长期的兼容性更好

实现

  • Ruby on Rails1.2以后的版本支持REST model。
  • JBoss RESTEasyJBoss的REST实现

参考资料

  • 《RESTful Web Services 中文版》:http://www.restfulwebservices.cn/
  • http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm Roy Fielding的博士论文《Architectural Styles and the Design of Network-based Software Architectures》
  • http://www.xml.com/pub/a/2002/02/06/rest.html 第二代web服务,Paul Prescod。
  1. ^ Richardson, Leonard; Ruby, Sam, RESTful Web Services, O'Reilly. 2007 ((May 8, 2007)),ISBN 0596529260
  2. ^ Elkstein, M. What is REST?. Retrieved on 2009-07-04.
http://www.lbrq.cn/news/2377009.html

相关文章:

  • 手机网站开发兼容性怎么注册自己的网址
  • 如何做网站支付链接武汉做seo公司
  • vue做的网站有什么百度加盟
  • 小叮当网站建设网络搭建教程
  • 网页制作下载安装包无锡seo公司哪家好
  • 柳江网站建设网址导航下载到桌面
  • 免费html网页模板网站太原百度快速优化
  • 什么博客可以做网站公司调查公司
  • 网站设计师培训中心关键词百度指数查询
  • php网站后台建设网站维护需要学什么
  • 湖北建设委员会网站外链推广软件
  • 网站建设知名公司排名网站seo排名公司
  • 衡阳网站建设开发价格手机百度收录提交入口
  • 网站浏览记录怎么做快速建站
  • 机构组织网站建设推广下载
  • 营销网站建设规划概念html期末大作业个人网站制作
  • 怎样修改网站标题如何做好一个网站
  • 简述网站的制作步骤品牌策划包括哪几个方面
  • jsp网站开发需要什么技术免费友链平台
  • 微信商城网站如何做网络服务平台
  • 专注于上海seo做网站建设网站关键词如何快速上首页
  • 委托他人做公司网站的税率百度竞价排名的利与弊
  • 潍坊 seo网站建设济南seo全网营销
  • 不知道是谁做的网站 输入学号新闻式软文范例
  • 网页制作建立站点福清seo
  • 网页设计与制作例子影响关键词优化的因素
  • 为wordpress首页添加关键词seo营销课程培训
  • wordpress分类模板下载seo网站优化方案摘要
  • 建设企业网站管理的重要性怎样做百度推广
  • 建立网站定制中国新闻
  • [源力觉醒 创作者计划]_文心一言 4.5开源深度解析:性能狂飙 + 中文专精
  • C# 转换(引用转换)
  • 使用 jar -xvf 解压JAR文件无反应怎么办?
  • 基于MATLAB的极限学习机ELM的数据分类预测方法应用
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二十一课——高斯下采样后图像还原的FPGA实现
  • GitHub开源轻量级语音模型 Vui:重塑边缘智能语音交互的未来