发布于 2026-01-06 0 阅读
0

RESTful Web 服务简介

RESTful Web 服务简介

本文将介绍 RESTful Web 服务。

REST 是一种架构风格,由 Roy Fielding 于 2000 年在其博士论文中提出。在 Web 服务领域,表述性状态转移(REST)是一种无状态的客户端-服务器架构,其中 Web 服务被视为资源,并可通过其 URI 进行标识。希望使用这些资源的 Web 服务客户端通过一组全局定义的远程方法来访问,这些方法描述了要对资源执行的操作。

它由两个组件构成:REST 服务器,用于提供对资源的访问;以及 REST 客户端,用于访问和修改 REST 资源。

在 REST 架构风格中,客户端和服务器使用标准化的接口和协议交换资源的表示形式。REST 本身并不依赖于特定的协议,但人们通常所说的 REST 指的是基于 HTTP 的 REST。
服务器的响应被视为资源的表示形式。这种表示形式可以由一个或多个资源生成。REST 允许资源拥有不同的表示形式,例如 XML、JSON 等。REST 客户端可以通过 HTTP 协议请求特定的表示形式。

HTTP 方法:

RESTful Web 服务使用 HTTP 协议方法执行操作。这些方法包括:

  • GET:它定义了对资源的读取访问,且不会产生副作用。此操作是幂等的,即可以多次执行而不改变结果。
  • PUT:通常用于更新资源。它也必须是幂等的。
  • DELETE 操作:它会移除资源。这些操作是幂等的,也就是说,它们可以重复执行而不会产生不同的结果。
  • POST:用于创建新资源。它不是幂等的。

幂等性 是指多次成功请求的结果不会改变资源在初始应用后的状态。
例如:
Delete 是幂等方法,因为当你第一次使用 delete 时,它​​会删除资源(初始应用),但之后的所有其他请求都不会有任何结果,因为资源已被删除。

POST 方法不是幂等方法,因为当您使用 POST 方法创建资源时,它会为每个新请求创建资源,因此多次成功请求的结果不会相同。

RESTful Web 服务的特点:

通过 URI 进行资源识别:资源通过其 URI(通常是互联网上的链接)进行识别。因此,客户端可以直接使用资源的 URI 访问 RESTful Web 服务(就像在浏览器的地址栏中输入网站地址并获得响应一样)。

统一接口:资源操作采用一组固定的四种创建、读取、更新、删除操作:PUT、GET、POST 和 DELETE。

客户端-服务器架构:这种限制背后的原因是明确的职责分离。客户端和服务器职责分离有助于提高客户端的可移植性和服务器组件的可扩展性。

无状态:客户端向服务器发出的每个请求都必须包含理解该请求所需的所有信息,并且不能利用服务器上存储的任何上下文。

缓存:为了提高网络效率,响应必须能够被标记为可缓存或不可缓存。

命名资源——该系统由使用 URL 命名的资源组成。

互联资源表示——资源的表示通过 URL 相互连接,从而使客户端能够从一种状态过渡到另一种状态。

分层组件——代理服务器、缓存服务器、网关等中间件——可以插入客户端和资源之间,以支持性能、安全性等。

自描述消息:资源与其表示形式解耦,以便可以以各种格式(如 HTML、XML、纯文本、PDF、JPEG、JSON 等)访问其内容。

您还可以查看 面向初学者和经验丰富的用户的 RESTful 面试题及答案。

Web 服务教程内容:

文章来源:https://dev.to/arpitmandliya/introduction-to-restful-web-services-22ga