restful什么是 RESTful 到底 REST 和 SOAP,RPC 有何区别

restful  时间:2021-08-29  阅读:()

restful和http的区别

REST 定义了一组体系架构原则,您可以根据这些,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态。

所以在事实上,REST 对 Web的影响非常大,由于其使用相当方便,已经普遍地取代了基于 SOAP 和 WSDL 的接口设计。

在多年以后的今天,REST的主要框架已经开始雨后春笋般的出现。

个人理解: (一) 首先REST只是一种风格,不是一种标准 (二) REST是以资源为中心的 (三) REST充分利用或者说极端依赖HTTP协议 一.对于今天正在吸引如此多注意力的最纯粹形式的 REST Web 服务,其具体实现应该遵循以下基本设计原则: 1.1.显式地使用不同的 HTTP 请求方法 1.2.无状态 1.3.公开目录结构式的 URI(通过逻辑URI定位资源)。

1.1.显式地使用不同的 HTTP 请求方法 我们在 Web 应用中处理来自客户端的请求时,通常只考虑 GET 和 POST 这两种 HTTP 请求方法。

实际上,HTTP 还有 HEAD、PUT、DELETE 等请求方法。

而在 REST 架构中,用不同的 HTTP 请求方法来处理对资源的 CRUD(创建、读取、更新和删除)操作: 若要在服务器上创建资源,应该使用 POST 方法。

若要检索某个资源,应该使用 GET 方法。

若要更改资源状态或对其进行更新,应该使用 PUT 方法。

若要删除某个资源,应该使用 DELETE 方法。

什么是restful

adj.平静的,悠闲的,让人得到休息的; 安生 例子: a hotel with a restful atmosphere 气氛闲适幽雅的旅馆 She fell into restful slumber. 她进入宁静的安眠之中。

什么样的风格才叫RESTFUL-CSDN论坛

RESTful架构,并不是一个容易说清楚的问题。

下面,我就谈谈我理解...js和Backbonejs这些前端框架的时候,发现这些先进的前端框架都是支持REST风格的服务

我是一个人么,还有人觉得 RESTful 是糟糕的设计么

我主要写后端代码,以前写 PHP, 现在写 Node.js. 刚听说 RESTful 的时候,觉得很高端大气上档次,很理想很美好。

但在后来的实践中发现 RESTful 很大程度上拖慢了后端的开发速度,而对前端(AngularJS)的开发速度改善也很有限。

RESTful 希望将所有请求都包装成对资源的新增,读取,修改,以对应不同的 HTTP 动词,但是并非所有请求都可以归到前面几类,既然无法将所有请求都 RESTful 化,甚至无法将大部分的请求 RESTful 化,那么意义就很有限了,会导致花费大量时间斟酌 API 应该如何设计。

RESTful 将一部分参数放到了 URL 里,还有一部分参数在 Header 里,从 URL 和 Header 里分离参数,虽然有库的辅助,但是我觉得很麻烦。

RESTful 通过 Status Code 来表示结果状态,但是通常的情况下,结果只有成功和出错两种情况,出错的情况分很多种,原因都很复杂,即使有 Status Code 依然需要有一个字符串来描述错误详情,所以 Status Code 在这里就显得很多余了。

所以我现在开始坚定地黑 RESTful, 我认为「传统」的 API 设计才是最可行的,即: * URL 是一个动词,其中不包含参数。

* 没有副作用的请求可以用 GET, 其余必须 POST * POST 时用正文传递参数,GET 时用 Query String 传递参数 * Status Code 为 200 或 400, 后者会返回一个字符串形式的错误代号。

这个?

什么是REST-ful,以及REST-ful的实现

REST 指的是一组架构约束条件和原则 Web 应用程序最重要的 REST 原则是:客户端和服务器之间的交互,在请求之间是无状态的;客户端的每个请求都必须包含理解请求所必需的信息;服务器在请求之间的任何时间点重启,客户端 不会得到通知;无状态请求可以由任何可用服务器回答,十分适合云计算之类的环境;客户端可以缓存数据以改进性能。

在服务器端,应用程序状态和功能可以分为各种资源:每个资源都使用 URI (Universal Resource Identifier) 得到一个惟一的地址。

所有资源都共享统一的界面,以便在客户端和服务器之间传输状态。

使用的是标准的 HTTP 方法,比如 GET、PUT、POST 和 DELETE。

另一个重要的 REST 原则是分层系统:这表示组件无法了解它与之交互的中间层以外的组件。

通过将系统知识限制在单个层,可以限制整个系统的复杂性,促进了底层的独立性。

当 REST 架构的约束条件作为一个整体应用时,将生成一个可以扩展到大量客户端的应用程序。

它还降低了客户端和服务器之间的交互延迟。

统一界面简化了整个系统架构,改进了子系统之间交互的可见性。

REST 简化了客户端和服务器的实现。

REST-ful的实现:构建 RESTful Web 服务的多层架构 RESTful Web 服务和动态 Web 应用程序在许多方面都是类似的。

有时它们提供相同或非常类似的数据和函数,尽管客户端的种类不同。

例如,在线电子商务分类网站为用户提供一个浏览器界面, 用于搜索、查看和订购产品。

如果还提供 Web 服务供公司、零售商甚至个人能够自动订购产品,它将非常有用。

与大部分动态 Web 应用程序一样,Web 服务可以从多层架构的关注点分离中受益。

业务逻辑和数据可以由自动客户端和 GUI 客户端共享。

惟一的不同点在于客户端的本质和中间层的表示层。

此外,从数据访问中分离业务逻辑可实现数据库独立性,并为各种类型的数据存储提供插件能力。

什么是 RESTful 到底 REST 和 SOAP,RPC 有何区别

第一个问题:什么是RESTful? REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。

有兴趣可以看看这里论文`,谁是Fielding?点击前面名字了解。

那RESTful到底是什么呢?简单的讲,它是:一种架构设计风格,提供了设计原则和约束条件,而不是架构。

而满足这些约束条件和原则的应用程序或设计就是 RESTful架构或服务。

推荐阅读: 张善友博客——REST 入门介绍 infoq——深入浅出REST 第二个问题:到底 REST 和 SOAP、RPC 有何区别? 这个问题比较大,要知道他们有什么区别首先需要明白,他们分别是什么? REST上面已经简单的说明了它是什么。

SOAP(简单对象访问协议)是什么?SOAP是一种数据交换协议规范,是一种轻量的、简单的、基于XML的协议的规范。

它有什么优点?简单总结为: 易用,灵活,跨语言,跨平台。

易用:是因为它的消息是基于xml并封装成了符合http协议,因此,它符合任何路由器、 防火墙或代理服务器的要求。

灵活:表现在极具拓展性,SOAP 无需中断已有的应用程序, SOAP 客户端、 服务器和协议自身都能发展。

而且SOAP 能极好地支持中间介质和层次化的体系结构。

跨语言:soap可以使用任何语言来完成,只要发送正确的soap请求即可。

跨平台:基于soap的服务可以在任何平台无需修改即可正常使用。

RPC(远程调用框架) 是一种允许分布式应用程序调用网络上不同计算机的可用服务的机制。

涉猎不多,一下省略256个字。

有熟悉的朋友可以在评论补充,然后我会修改到该内容中去 从上面我们可以看出,REST 和 SOAP、RPC 有何区别呢?没什么太大区别,他们的本质都是提供可支持分布式的基础服务,最大的区别在于他们各自的的特点所带来的不同应用场景。

REST可以看着是 ,php ,java 都已经对其有了很好的支持 。

这是REST薄弱的地方。

Linode 18周年庆典活动 不断改进产品结构和体验

今天早上相比很多网友和一样收到来自Linode的庆祝18周年的邮件信息。和往年一样,他们会回顾在过去一年中的成绩,以及在未来准备改进的地方。虽然目前Linode商家没有提供以前JP1优化线路的机房,但是人家一直跟随自己的脚步在走,确实在云服务器市场上有自己的立足之地。我们看看过去一年中Linode的成就:第一、承诺投入 100,000 美元来帮助具有社会意识的非营利组织,促进有价值的革新。第二、发...

Spinservers:美国独立服务器(圣何塞),$111/月

spinservers是Majestic Hosting Solutions,LLC旗下站点,主营美国独立服务器租用和Hybrid Dedicated等,spinservers这次提供的大硬盘、大内存服务器很多人很喜欢。TheServerStore自1994年以来,它是一家成熟的企业 IT 设备供应商,专门从事二手服务器和工作站业务,在德克萨斯州拥有40,000 平方英尺的仓库,库存中始终有数千台...

建站选择网站域名和IP主机地址之间关系和注意要点

今天中午的时候有网友联系到在选择网站域名建站和主机的时候问到域名和IP地址有没有关联,或者需要注意的问题。毕竟我们在需要建站的时候,我们需要选择网站域名和主机,而主机有虚拟主机,包括共享和独立IP,同时还有云服务器、独立服务器、站群服务器等形式。通过这篇文章,简单的梳理关于网站域名和IP之间的关系。第一、什么是域名所谓网站域名,就是我们看到的类似"www.laozuo.org",我们可以通过直接记...

restful为你推荐
提升网站排名怎么提高网站排名啊组或资源的状态不是执行请求操作的正确状态在输入netsh wlan start hostednetwork时,显示无法启动承载网络,组或资源的状态不是执行操作的正确状态网络地址分类A、B、C三类网络地址是如何划分的?请解释的通俗一点。混乱模式拳皇2002李梅的混乱模式出招2g内存条2G的内存条和8G的内存条有什么不同价格咨询米兰心理张桂茹价格: 咨询一次的费用是多少上海网络维护公司上海博好网络科技有限公司的介绍怎样清除历史记录手机的历史记录怎么删除阿里学院首页阿里学院成都站--让成都电子商务的发展势如破竹垂直型网站水平型、垂直型、综合型电子商务网站的主要特征是什么?
域名网站 哈尔滨服务器租用 天津服务器租赁 万网域名管理 华为云主机 丹弗 日本bb瘦 网站卫士 Updog 安徽双线服务器 cdn网站加速 主机返佣 域名和主机 万网服务器 葫芦机 hdchina winserver2008r2 magento主机 超低价 遨游论坛 更多