![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Rest
rest
30年后世界会是怎样
这个作者很懒,什么都没留下…
展开
-
你真的了解REST吗?
本篇文章主要包括以下几个方面:REST的概念是什么 我们为什么需要REST 前端渲染和后端渲染的优势是什么 什么样的REST才是"正宗"的一、REST的概念是什么维基百科表现层状态转换(REST,英文:Representational State Transfer)是Roy Thomas Fielding博士于2000年在他的博士论文中提出来的一种万维网软件架构风格,目的是便于不同...转载 2020-03-04 10:17:21 · 409 阅读 · 0 评论 -
REST负载的自描述性
负载的自描述性 在前面对REST提出的几个约束的讲解中我们已经提到过,REST系统中所传递的各个消息的负载需要提供足够的用于操作该资源的信息,如如何对资源进行添加,删除以及修改等操作,并可以根据负载中所包含的对其它各资源的引用来访问各个资源。这也对负载的自描述性提出了更高的要求。 首先让我们回头看看egoods电子商务网站对食品分类的描述: 1 { 2 "uri" :...转载 2018-08-28 00:36:51 · 481 阅读 · 0 评论 -
REST如何为资源定义一个恰当的表示
选择适当的表示结构 接下来我们要讲解的就是如何为资源定义一个恰当的表示。 首先需要强调的是,REST并没有规定其服务中需要使用什么格式来表示资源。表示资源时所可以选取的表示形式实际上是由实现REST所使用的协议决定的。而在一个基于HTTP的REST服务中,我们可以使用JSON,也可以使用XML,甚至是自定义的MIME类型来表示资源。这些表现形式常常是等效的。相信读者已经看到,本系列文章...转载 2018-08-28 00:37:05 · 634 阅读 · 0 评论 -
REST无状态约束
无状态约束 在Roy Fielding的论文中,其为REST添加了一个无状态约束: We next add a constraint to the client-server interaction: communication must be stateless in nature … such that each request from client to server mus...转载 2018-08-28 00:36:36 · 726 阅读 · 0 评论 -
REST使用标准的状态码
使用标准的状态码 在与REST服务进行交互的时候,用户需要通过服务所返回的信息决定其所发送的请求是否被适当地处理。这部分功能是由REST服务实现时所使用的协议所决定的,与REST架构无关。而在基于HTTP的REST服务中,该功能就由HTTP响应的状态码(Status Code)来完成。因此在设计一个REST服务时,我们需要额外地注意是否返回了正确的状态码。 但是这些预定义的HTTP状态...转载 2018-08-26 08:42:24 · 2450 阅读 · 0 评论 -
REST操作资源
使用合适的动词 在知道了如何为每种资源定义URI之后,我们来看看如何操作这些资源。 首先,在一个资源的生命周期之内常常会发生一系列通用事件(CRUD)。一开始,一个资源并不存在。只有用户或REST服务创建了该资源以后其才存在,也即是上面所列出的通用事件中的C,Create。在一个资源创建完毕以后,用户可能会从服务端请求该资源的表示,也就是上面所列出的通用事件的R,Retrieve。在特...转载 2018-08-26 08:40:58 · 1048 阅读 · 0 评论 -
REST资源的URL设计
资源的URL设计 在前面已经提到过,统一接口约束中的第一条子约束就是每个资源都拥有一个资源标识。在正确地辨识出了一个资源之后,我们就需要为这些资源分配其所对应的URI。一个资源所对应的URI可能有多种表示方式,如到底是用单数还是复数表示资源等。因此在一个基于HTTP的REST系统中,如何组织针对各个资源的URL实际上是最重要的一部分。毕竟一个明确的,有意义并且稳定的API接口实际上是对服务对...转载 2018-08-26 08:39:13 · 3013 阅读 · 0 评论 -
REST资源识别
资源识别 在一般情况下,对资源的识别通常都是REST服务设计的第一步。在准确地识别出了各资源之后,怎么用HTTP规范中的各组成来表示这些资源便是顺理成章的事情。在本节中,我们将对如何识别REST系统中的资源进行讲解。 在通常的软件开发过程中,我们常常需要分析达成某个目标所需要使用的业务逻辑,并为业务逻辑的执行提供一系列运行接口。在一些Web服务中,这些接口常常表达了某个动作,如将商品放...转载 2018-08-26 08:37:29 · 618 阅读 · 0 评论 -
REST定义
REST的定义 OK,现在让我们来看看REST的定义。Wikipedia是这样描述它的: Representational State Transfer (REST) is a software architecture style consisting of guidelines and best practices for creating scalable web servic...转载 2018-08-26 08:36:06 · 742 阅读 · 0 评论 -
REST示例
REST示例 我想,很多读者可能并不太清楚REST到底是一个什么概念。那么,首先让我们来看一个简单的基于HTTP的REST服务示例。 假设用户正在访问一个电子商务网站www.egoods.com。该网站对其所销售的各个物品进行了详细分类。当用户登录该网站进行购物时,他首先需要在该网站上选择其所需要寻找物品的分类,进而列出属于该分类的各个物品。 当然,虽然从业务逻辑的角度来说这...转载 2018-08-26 08:33:29 · 3110 阅读 · 0 评论 -
RESTful API 设计指南
转自:http://www.ruanyifeng.com/blog/2014/05/restful_api.html网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API...转载 2018-10-26 10:23:50 · 173 阅读 · 0 评论 -
REST性能与相关资源
性能 接下来我们就来简单地说说基于HTTP的REST服务中的性能问题。在基于HTTP的REST服务中,性能提升主要分为两个方面:REST架构本身在提高性能方面做出的努力,以及基于HTTP协议的优化。 首先要讨论的就是对登陆性能的优化。在前面我们已经介绍过,在一个基于HTTP的REST服务中,每次都将用户的用户名和密码发送到服务端并由服务端验证这些信息是否合法是一个非常消耗资源的流程。因...转载 2018-08-28 00:36:16 · 232 阅读 · 0 评论 -
REST版本管理
版本管理 在前面已经提到过,一个REST系统为资源所抽象出的URI实际上是对用户的一种承诺。但反过来说,软件开发人员也很难预知一个资源的各方面特征如何在未来发生变化,从而提供一个永远不变的URI。 在一个REST系统逐渐发展的过程中,新的属性,新的资源将逐渐被添加到该系统中。在这些更改过程中,资源的URI,访问资源的动词,响应中的Status Code将不能发生变化。此时软件开发人员所...转载 2018-08-28 00:36:26 · 922 阅读 · 0 评论