Web services 什么被归类为RESTful Web服务

Web services 什么被归类为RESTful Web服务,web-services,rest,Web Services,Rest,因此,我目前有一个调用web服务来检索数据的应用程序,在这个应用程序中,我对一个url(如www.example.com/service.asmx?param1=1¶m2=2)执行基本的HTTP GET 这将返回我解析的一些xml 我的问题是,这是否将其归类为RESTful Web服务?我想不会,但我想知道是什么让它成为RESTWeb服务 我知道有REST和SOAPWeb服务,但是上面的情况会被归类为什么,简单的HTTP GET web服务?还是什么 谢谢,我正在尝试将术语与概念相匹配,

因此,我目前有一个调用web服务来检索数据的应用程序,在这个应用程序中,我对一个url(如www.example.com/service.asmx?param1=1¶m2=2)执行基本的HTTP GET 这将返回我解析的一些xml

我的问题是,这是否将其归类为RESTful Web服务?我想不会,但我想知道是什么让它成为RESTWeb服务

我知道有REST和SOAPWeb服务,但是上面的情况会被归类为什么,简单的HTTP GET web服务?还是什么


谢谢,我正在尝试将术语与概念相匹配,如果这有点过于简单,请原谅

REST服务是通常符合以下要求的服务:

  • 提供准确描述所请求资源的标识符
  • 提供行为与预期一致的服务GET请求是幂等的,POST更新记录,PUT创建,DELETE删除
  • 最小化服务器上存储的状态
  • 一般来说,去掉不必要的复杂性
  • 通过HTTP(虽然我见过其他实现,但它们肯定不是传统意义上的RESTful)
您的URL没有像它可能的那样“restful”的原因是它包含非标识信息(例如.ASMX)。此外,有些人认为添加url参数只适合于过滤。(但这并不意味着使用URL参数不是RESTful!)

如果似乎没有硬性规定可以休息,那你就走对了


RESTful服务通常使用XML进行处理,不过这也不是什么硬性规定。

您的问题的直接答案是我不知道。
您提供的有关web服务的信息不够准确,无法将其归类为RESTful web服务

REST是一种体系结构风格(不是设计或实现技术),这意味着您必须在软件体系结构中遵循其原则,才能将其归类为RESTful:

  • 具有定义良好且统一界面的客户机/服务器
    • 统一确定资源
    • 通过它们的表示来操纵这些资源
    • 自描述性消息:每条消息描述如何处理数据
    • 作为应用程序状态引擎的超媒体:状态之间的转换通过以下链接进行
  • 无国籍
  • 资源的可缓存性
  • 分层系统
在做任何RESTful操作之前,您必须先查阅的第一个来源是“发明REST的家伙”:-)


请注意,REST没有指定URL方案,但在RESTful体系结构中有一些常见的关于URL方案的最佳实践,例如。

我认为您不会得到关于这一点的明确答案。REST和Web服务都是非常容易混淆的术语,现在将它们组合在一起

休息可能意味着

  • 严格来说,URL必须表示资源,并且必须使用正确的HTTP动词(GEt/PUT/POST/DELETE)。我们这里有个会议。如果是这个意思的话,它的拼写是ReST
  • 任何HTTP或web协议,只要它使用查询参数和表单post in请求
  • 任何HTTP协议。请求可以是XML或JSON格式
  • Web服务也有多种含义

  • 它过去指的是基于SOAP的SOA调用
  • 然后介绍了REST风格的web服务。它基本上是没有SOAP的SOA调用。我甚至看到人们在没有SOAP头的情况下使用确切的SOAP消息
  • 一些人认为,必须使用WADL(相当于WSDL)将其分类为Web服务,特别是在JAX-RS社区中

  • 这个问题在这个网站上已经回答过很多次了。您应该查看一下关于REST的权威来源。也有一些有用的帖子

    URI表示与REST无关,但看看您的服务,您的服务可能是RPC而不是REST。如果整个服务只有一个URI,您可以通过查询参数或头调用它,那么它就是RPC,类似于SOAP


    REST最重要的概念是通过超文本发现和导航您的资源。您的API必须是对媒体类型的描述。API中唯一的一个URI是入口点

    你的问题的直接答案是否定的

    分解您告诉我们的关于您的服务的内容,我将讨论什么是您的解决方案的不安全

    HTTP在这样的url上运行 www.example.com/service.asmx?param1=1和param2=2

    您使用的是HTTP GET,因此使用的是一组有限的谓词中的一个,通过URI访问某种资源。这是RESTful的,并且只要服务器不违反任何关于GET可以做什么的HTTP规则,就符合统一接口约束

    从URL本身来看,并不清楚您正在访问什么资源,因此它确实暗示您的URL空间的结构可能不便于进行RESTful设计。然而,REST并没有对URL的外观设置任何限制(尽管很多人都这么认为),所以您的URL没有什么不可更改的

    这将返回我解析的一些xml

    你的问题就从这里开始。我在这条语句中隐含的意思是,客户机知道如何从XML中解析数据。这违反了REST的自我描述约束。http消息应该包含客户端知道如何处理请求响应所需的所有信息。媒体类型应该告诉客户端XML文档中包含哪些信息。如果您的服务返回application/xml,那么客户机只知道文档包含属性和元素。如果客户机使用带外知识来解析XML,那么您就是在客户机和服务器之间引入耦合。REST的主要目标之一是帮助elimi