REST架构笔记.docxVIP

  • 2
  • 0
  • 约1.51千字
  • 约 6页
  • 2018-01-04 发布于河南
  • 举报
REST架构笔记

介绍REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。REST允许我们通过url设计系统,如TDD一样先设计测试驱动,再编码。即通过URL来设计系统架构REST架构可对网络上所有资源进行唯一性定位(无论图片、文件还是视频)REST软件架构遵循了CRUD原则,该原则告诉我们对于资源(包括网络资源)只需要四种行为:创建(Create)、获取(Read)、更新(Update)和销毁(DELETE)就可以完成对其操作和处理了。这四个操作是一种原子操作,即一种无法再分的操作使用REST体系结构的服务通常称为RESTFul服务或端点。REST是一种RPC(Remote Procedure Call)技术,其它还包含Remoting、WCF、Webservice、SOAP等REST提出了一些设计概念和准则网络上的所有事务都被抽象为资源(resource)(资源是自我描述的,处理资源请求所需的全部信息均包含在请求本身,在计算机上存放并提现比特流的事务)每个资源对应唯一的资源标识(Resource Identifier)。(resource identifier是url)通过通用的连接器接口(generic connector interface)对资源进行操作。generic connector interface是HTTP。(REST架构让人们真正理解我们的网络协议HTTP本来面貌,对资源的操作包括获取、创建、修改和删除资源的操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法,http把对一个url的操作限制在4个操作之内:GET、POST、PUT和DELETE)对资源的各种操作不会改变资源标识:url不变性所有的操作都是无状态的(stateless)REST要求状态要么被放入资源状态中,要么保存在客户端上。或者换句话说,服务器端不能保持除了单次请求之外的,任何与其通信的客户端的通信状态。这样做的最直接的理由就是可伸缩性—— 如果服务器需要保持客户端状态,那么大量的客户端交互会严重影响服务器的内存可用空间(footprint)。(注意,要做到无状态通信往往需要需要一些重新设计——不能简单地将一些session状态绑缚在URI上,然后就宣称这个应用是RESTful。)也就是不用session或applicationREST和AJAXREST和xml、json关系REST软件架构下我们不能对于XML文件进行序列化处理,这样程序员必须要使用自己的XML绑定框架。而以序列化的JavaScript对象为基础的JSON已经获得了广泛认可,它被认为能以远比XML更好的方式来序列化和传输简单数据结构,而且它更简洁。这对REST是一个极大贡献和补充。 1配置设置IIS设置需要注意的是,IIS服务器默认是不支持ASP文件的PUT和DELETE操作,默认会返回“403 - Forbidden”错误,因此需要修改IIS的设置,修改方法是:管理根据-IIS信息服务器-网站-属性-主目录-应用程序配置-配置-映射,选择ASP - 编辑 - 修改为全部动作。IIS设置其它RPC WCF:用WCF生成REST风格的Web Service,然后再在网站使用Web Service做页面的处理SOAPPUT、GET、POST、DELETE关于新增的动词选择幂等统一接口:对特殊资源多次使用PUT、DELETE动词,效果与首次使用一样REST的基本模式客户端客户端需要了解每项资源的URI

文档评论(0)

1亿VIP精品文档

相关文档