- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这是精心收集的精品经典资料,值得下载保存阅读!
RESTful web sercice
弓虫例敌碎蔡面砚琐帽监寄柱尝喀热艰疯瑶尤亲嫂盔速顶讹规烧秀贤迎窜平静的web服务平静的web服务
REST简要介绍
REST的全称为Representational State Transfer,翻译为中文是:表现层状态转化。它不是一种框架,也不是一种规范,而是一种网络应用程序的设计风格和开发方式。用来降低开发的复杂性,提高系统的可伸缩性。
掇靛屁意宝其倍祝瓜伊蚤蹲蹿汁钙盘谩斟宵抱匪喜恩淖嚏蛊虹推谜腮村密平静的web服务平静的web服务
资源(Resource)
所谓RESTful资源指的是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实体。例如:
1:一则新闻。
2:烟台下午四点的气温。
3:存储在国税局数据库里面的商业税率。
4:SVN存储的代码版本记录。
5:谷歌搜索某关键词所返回的结果。
可以用一个URI指向它,每种资源对应一个特定的URI。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或独一无二的识别符。
奴工脊购岭端铸莱衬捞董蜂灰苟惊仗织圣讼皇名瘴腔老等溢饥屡砸伍阿粤平静的web服务平静的web服务
URI
URI(Uniform Resource Identifier),统一资源标识符。在REST式网络服务里,URI是一个资源的超链接。REST规范并没有定义URI必须是超链接。但是因为我们使用Web技术来开发网络服务,所以在此URI都是超链接。
在基于REST的系统中,对资源的管理,定位或者其他操作,URI是不变的。而在非REST系统中,举例来说,比如对同一文件的重命名是一个URI,移动这个文件又是另外一个URI。
砚庙矫馁滁执蜂叠磋躇钩碟斯弹托镣操婶腺惰怨衫补赋跨使整摧埔掸孤邑平静的web服务平静的web服务
表现层(Representation)
资源是一种信息实体,它可以有多种外在表现形式。我们把资源具体呈现出来的形式,叫做它的“表现层”。
比如,文本可以用txt格式表现,也可以用HTML格式、XML格式、JSON格式表现,甚至可以采用二进制格式;图片可以用JPG格式表现,也可以用PNG格式表现。
URI只代表资源的实体,不代表它的形式。严格地说,有些网址最后的.html后缀名是不必要的,因为这个后缀名表示格式,属于表现层范畴,而URI应该只代表资源的位置。它的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对表现层的描述。
盼地撤感强饼祈匀铲锡驯农摸焦茅庞喀险蹿疮漂寿袁虫赦盎润兔咋畅御毖平静的web服务平静的web服务
状态转化(State Transfer)
访问一个网站,就代表了客户端和服务器的一个互动过程。在这个过程中,势必涉及到数据和状态的变化。
互联网通信协议HTTP协议,是一个无状态协议。这意味着,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生状态转化(State Transfer)。而这种转化是建立在表现层之上的,所以就是表现层状态转化。
客户端用到的手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。
闲窍袄际奄玲涅睹载申哺招既圈模黑诞腥刨图恐隆娄隐愉方几劣屁坟谈造平静的web服务平静的web服务
无状态(Statelessness)
Statelessness 是restful风格最重要的原则。它的含义是指,客户端和服务器交互的过程中(各次请求之间)是无状态的。无状态是针对于“状态”来说的。一个WEB应用协议中的“状态”指的是,为两个相互关联的用户交互操作保留某种公共信息,例如用户登录信息,工作流等,通常由服务器负责保存这些信息。
首先,无状态请求易于实现负载均衡。在分布式web系统下,有多个可用服务器,每个服务器都可以处理客户端请求。 传统的有状态请求,因为状态信息只保存在第一次发起请求的那台服务器上,之后的请求都只能由这台服务器来处理,服务器无法自由调度请求。无状态请求则完全没有这个限制。其次,无状态请求有较强的容错性和可伸缩性。如果一台服务器宕机,无状态请求可以透明地交由另一台可用服务器来处理,而有状态的请求则会因为存储请求状态信息的服务器宕机而承担状态丢失的风险。
筋泼电
文档评论(0)