153 rest
我假设REST是一个Web服务,但似乎我认为这是错误的 - 所以,什么是REST?
我已经阅读了维基百科,但仍然无法完全理解它.为什么要做很多地方将API称为REST API?
And*_*ers 122
REST不是特定的Web服务,而是用于管理状态信息的设计概念(体系结构).关于此的开创性论文是Roy Thomas Fielding的论文(2000),"建筑风格和基于网络的软件架构的设计"(可从加州大学欧文分校在线获得).
首先阅读Ryan Tomayko的帖子我如何向妻子解释REST ; 这是一个很好的起点.然后阅读菲尔丁的实际论文.它不是那么高级,也不长(六章,180页)!(我知道你在学校里的孩子很喜欢它).
编辑:我觉得尝试解释REST是没有意义的.它有许多概念,如可扩展性,可见性(无状态)等,读者需要掌握,理解这些概念的最佳来源是实际的论文.它比POST/GET等更多.
max*_*aga 73
REST是一种通常用于Web应用程序的软件设计模式.通俗地说,这意味着它是许多不同项目中常用的想法.它代表REpresentational State Transfer.REST的基本思想是将服务器端的对象(如数据库表中的行)视为可以创建或销毁的资源.
关于REST的最基本思考方式是格式化Web应用程序的URL.例如,如果您的资源名为"posts",那么:
/posts 将是用户如何访问所有帖子,以进行显示.
/posts/:id 将是用户如何访问和查看基于其唯一ID检索的单个帖子.
/posts/new 将是如何显示创建新帖子的表单.
发送POST请求/users将是您在数据库级别上实际创建新帖子的方式.
发送PUT请求/users/:id将是如何更新给定帖子的属性,再次由唯一ID标识.
发送DELETE请求/users/:id将是如何删除给定帖子,再次由唯一ID标识.
据我所知,REST模式主要是由Ruby on Rails框架推广(对于Web应用程序),它强调RESTful路由.我可能错了.
我可能不是最有资格谈论它的,但这就是我学习它的方式(特别是对于Rails开发).
当有人提到"REST api"时,通常他们的意思是使用RESTful URL来检索数据的api.
cmd*_*cmd 36
REST是一种建筑风格和设计的基于网络的软件架构.
REST概念被称为资源.资源的表示必须是无状态的.它通过某种媒体类型表示.媒体类型的一些例子包括XML,JSON,和RDF.资源由组件操纵.组件通过标准统一接口请求和操作资源.在HTTP的情况下,该接口由标准HTTP OPS例如GET,PUT,POST,DELETE.
REST通常使用HTTP,主要是由于HTTP的简单性和它与RESTful原则的非常自然的映射.然而,REST并不依赖于任何特定协议.
客户端 - 服务器通信
客户端 - 服务器架构具有非常明显的关注点分离.所有以RESTful样式构建的应用程序原则上也必须是客户端 - 服务器.
无状态
每个客户端对服务器的请求都要求完全表示其状态.服务器必须能够完全理解客户端请求,而无需使用任何服务器上下文或服务器会话状态.因此,所有州必须保留在客户端上.我们稍后将更详细地讨论无状态表示.
可缓存
可以使用高速缓存约束,从而使响应数据能够被标记为可高速缓存或不可高速缓存.标记为可缓存的任何数据都可以重用作对同一后续请求的响应.
统一界面
所有组件必须通过单一的统一接口进行交互.由于所有组件交互都通过此接口进行,因此与不同服务的交互非常简单.界面是一样的!这也意味着可以单独进行实现更改.这种变化不会影响基本的组件交互,因为统一的接口总是不变的.一个缺点是您遇到了界面.如果可以通过更改界面为特定服务提供优化,那么由于REST禁止此操作,您将失去运气.然而,从好的方面来看,REST针对Web进行了优化,因此REST在HTTP上非常受欢迎!
上述概念表示REST的定义特征,并将REST架构与Web服务等其他架构区分开来.值得注意的是,REST服务是一种Web服务,但Web服务不一定是REST服务.
有关REST和上述原则的更多详细信息,请参阅有关REST设计主体的此博客文章.
Mar*_*ark 14
它代表Representational State Transfer,它可能意味着很多东西,但通常当你谈论API和应用程序时,你所说的REST是一种做Web服务或让程序通过Web进行交谈的方式.
REST基本上是一种在系统之间进行通信的方式,并且完成了SOAP RPC的大部分工作,但是SOAP通常会建立连接,进行身份验证,然后通过该连接执行操作,REST的工作方式与Web工作方式基本相同.您有一个URL,当您请求该URL时,您会得到一些回复.这是事情开始变得混乱的地方,因为人们将网络描述为最大的REST应用程序,虽然这在技术上是正确的,但它并没有真正帮助解释它是什么.
简而言之,REST允许您使用与Web浏览器使用的工具类似的工具,让两个应用程序通过Internet进行通信.这比SOAP简单得多,REST所做的很多事情都说:"嘿,事情不一定非常复杂."
值得阅读:
| 归档时间: |
|
| 查看次数: |
95015 次 |
| 最近记录: |