个性化阅读
专注于IT技术分析

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:它检索特定帖子的详细信息。

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端点所需的信息。这些操作是允许访问的服务。请求结构定义了请求的结构, 响应结构定义了响应的结构。


赞(0) 打赏
未经允许不得转载:srcmini » Web服务的类型
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏