Web服务的类型

本文概述

  • RESTful Web服务
  • SOAP Web服务
  • 要记住的要点
Web服务有两种类型:
  • RESTful Web餐具
  • SOAP Web服务
RESTful Web服务 REST代表代表性状态转移。它由Roy Thomas Fielding开发, 他还开发了HTTP。 RESTful Web服务的主要目标是使Web服务更有效。 RESTful Web服务尝试使用HTTP中已经存在的不同概念来定义服务。 REST是一种体系结构方法, 而不是协议。
它没有定义标准的消息交换格式。我们可以使用XML和JSON构建REST服务。 JSON是REST更流行的格式。密钥抽象是REST中的资源。资源可以是任何东西。可以通过统一资源标识符(URI)对其进行访问。例如:
该资源具有XML, HTML和JSON之类的表示形式。当前状态由代表性资源捕获。当我们请求资源时, 我们提供资源的表示形式。 HTTP的重要方法是:
  • GET:读取资源。
  • PUT:更新现有资源。
  • POST:它将创建一个新资源。
  • DELETE:删除资源。
例如, 如果我们要在社交媒体应用程序中执行以下操作, 我们将获得相应的结果。
POST / users:创建一个用户。
GET / users / {id}:它检索一个用户的详细信息。
GET / users:它检索所有用户的详细信息。
DELETE / users:删除所有用户。
DELETE / users / {id}:删除用户。
GET / users / {id} / posts / post_id:它检索特定帖子的详细信息。
【Web服务的类型】POST /用户/ {id} /帖子:它为用户创建一个帖子。
GET / users / {id} / post:检索用户的所有帖子
HTTP还定义了以下标准状态代码:
  • 404:找不到资源
  • 200:成功
  • 201:创建
  • 401:未经授权
  • 500:服务器错误
RESTful服务约束
  • 必须有服务生产者和服务使用者。
  • 该服务是无状态的。
  • 服务结果必须是可缓存的。
  • 该接口是统一的并且公开资源。
  • 服务应采用分层架构。
RESTful Web服务的优势
  • RESTful Web服务与平台无关。
  • 它可以用任何编程语言编写, 并且可以在任何平台上执行。
  • 它提供了不同的数据格式, 如JSON, 文本, HTML和XML。
  • 与SOAP相比, 它速度很快, 因为没有像SOAP这样的严格规范。
  • 这些是可重用的。
  • 这些是语言无关的。
SOAP Web服务 REST定义了一种架构方法, 而SOAP对XML的格式提出了限制。 XML在服务提供者和服务使用者之间传输数据。请记住, SOAP和REST不具有可比性。
SOAP:简单对象访问协议的SOAP缩写。它定义了标准的XML格式。它还定义了构建Web服务的方式。我们使用Web服务定义语言(WSDL)定义请求XML和响应XML的格式。
例如, 我们已请求从Facebook应用程序访问Todo应用程序。 Facebook应用程序将XML请求发送到Todo应用程序。 Todo应用程序处理该请求并生成XML响应, 然后将其发送回Facebook应用程序。
Web服务的类型

文章图片
如果使用的是SOAP Web服务, 则必须使用SOAP的结构。
Web服务的类型

文章图片
在上图中, SOAP信封包含一个SOAP-Header和SOAP-Body。它包含标识请求所需的元信息, 例如, 身份验证, 授权, 签名等。SOAP-Header是可选的。 SOAP正文包含请求或响应的真实XML内容。如果发生错误, 响应服务器将以SOAP-Fault进行响应。
让我们了解SOAP XML请求和响应结构。
XML请求
< Envelop xmlns=?http://schemas.xmlsoap.org/soap/envelop/?> < Body> < getCourseDetailRequest xmlns=?http://udemy.com/course?> < id> course1< /id> < getCourseDetailRequest> < /Body> < /Envelop>

XML回应
< SOAP-ENV:Envelope xmlns:SOAP-ENV=?http://schemas.xmlsoap.org/soap/envelope/?> < SOAP-ENV:Header /> < !?empty header--> < SOAP-ENV:Body> < !?body begin--> < ns2:getCourseDetailsResponse xmlns:ns2=?http://in28mi> < !--content of the response--> < ns2:course> < ns2:id> Course1< /ns2:id> < ns2:name> Spring< ns2:name> < ns2:description> 10 Steps< /ns1:description> < /ns2:course> < /ns2:getCourseDetailResponse> < /SOAP-ENV:Body> < !?body end--> < /SOAP-ENV:Envelope>

要记住的要点
  • SOAP定义了请求和响应的格式。
  • SOAP对传输没有任何限制。我们可以使用HTTP或MQ进行通信。
  • 在SOAP中, 服务定义通常使用Web服务定义语言(WSDL)完成。 WSDL定义了端点, 所有操作, 请求结构和响应结构。
端点是公开HTML或ASP页面的连接点。它提供了解决Web Service端点所需的信息。这些操作是允许访问的服务。请求结构定义了请求的结构, 响应结构定义了响应的结构。

    推荐阅读