关于rest:理解-REST-约束为-Web-开发带来超乎想象的便利

41次阅读

共计 1310 个字符,预计需要花费 4 分钟才能阅读完成。

REST 是 Representational State Transfer 的缩写,是 Roy Fielding 于 2000 年提出的一种通过 HTTP 设计涣散耦合应用程序的架构格调,其次要利用于 Web 服务的开发。REST 不是强制性的,能够不恪守,但它提供了一种高级设计指南。

架构束缚

REST 定义了六种架构束缚来形成 Web 服务。RESTful API 是指应用 HTTP 并遵循 REST 准则的 API。这些架构束缚有以下作用:

  • 进步零碎的可伸缩性和可靠性:通过客户端 - 服务器拆散、无状态和分层零碎等架构束缚,使零碎更容易扩大和保护,进步零碎的可靠性;
  • 进步零碎的性能:应用缓存能够缩小对服务器资源的耗费,从而进步零碎的性能和可伸缩性;
  • 进步零碎的安全性和隔离性:分层零碎能够提供更好的安全性和隔离性,使零碎更加安全可靠;
  • 升高开发和保护老本:通过对立接口能够使开发人员更加容易地了解和应用 API,同时按需代码能够缩小服务器端的负载,进步了客户端的灵活性和可扩展性。

一个 RESTful API,须要满足以下六大架构束缚:

  1. 对立接口
  2. CS (客户端 - 服务器拆散)
  3. 无状态
  4. 缓存
  5. 零碎分层
  6. 按需编码(可选)

接下来咱们来具体看看这六大架构束缚。

CS(客户端 - 服务器拆散)

这是 REST 格调的根本准则之一:将客户端和服务器之间拆散,使其可能别离进行演变和扩大,进步了零碎的可伸缩性和可靠性。通过客户端 - 服务器拆散,客户端和服务器能够别离由不同的开发团队进行开发和保护,并且能够使客户端和服务器之间的协定更加简略和清晰。

无状态

服务器不应存储客户端的状态信息。每个申请都应该蕴含足够的信息以便服务器能够解决申请,这样能够使服务器更容易扩大,进步零碎的可伸缩性和可靠性。无状态的设计能够升高零碎的复杂度,并且能够缩小对服务器资源的耗费。

缓存

服务器应该尽可能地应用缓存来进步性能和可扩展性。客户端能够缓存服务器返回的响应,以缩小对服务器的申请;服务器也能够缓存申请的响应,以缩小对后端系统的申请。缓存能够缩小网络带宽的应用,进步零碎的性能和可伸缩性。

对立接口

REST 应用一组标准接口来实现客户端和服务器之间的通信。这些接口包含资源的标识、资源的示意、自描述音讯、超媒体作为应用程序状态的引擎等。通过应用这些标准接口,REST 能够使客户端和服务器之间的通信更加简略和牢靠。对立接口能够使开发人员更加容易地了解和应用 API。

分层零碎

REST 容许零碎被分成多个档次,每个档次都能够有本人的性能。这样能够进步零碎的可伸缩性和可靠性,同时也提供了更好的安全性和隔离性。分层零碎能够使开发人员更加容易地扩大和批改零碎,也能够进步零碎的可靠性和安全性。

按需代码(可选)

REST 能够通过向客户端传输可执行的代码(例如 JavaScript)来扩大客户端的性能。这样能够缩小服务器端的负载,同时也进步了客户端的灵活性和可扩展性。按需代码能够使开发人员更加容易地扩大和批改客户端性能。

最初须要留神的是,这些束缚并不是死的,如果违反了一两个,也不影响称为 RESTful API,但不合乎“真正的 RESTful”束缚。

常识扩大:

理解更多 REST API 相干常识。

  • REST 与 SOAP 之间的差别
  • REST API 罕用的平安认证形式
正文完
 0