HATEOAS:
超媒体作为应用程序状态引擎(HATEOAS)是REST应用程序体系结构的一个组件,它将其与其他网络应用程序体系结构区分开来。
使用HATEOAS,客户端与网络应用程序交互,其应用程序服务器通过超媒体动态提供信息。除了对超媒体的一般理解之外,REST客户端几乎不需要知道如何与应用程序或服务器交互。
优点:相比之下,CORBA中的客户端和服务器通过文档或接口描述语言(IDL)共享的固定接口进行交互。
HATEOAS约束将客户端和服务器分离的方式使服务器功能能够独立发展。
HEOAS约束是REST的“统一接口”特征的重要组成部分,正如Roy Fielding的博士论文所定义的那样。
Fielding解释说,这个和其他REST约束的一些严格性的目的是“几十年的软件设计:每个细节都旨在促进软件的寿命和独立进化。许多约束直接与短期相对立不幸的是,人们在短期设计方面相当擅长,而且在长期设计方面通常很糟糕“。
HATEOAS是 REST 架构风格中最复杂的约束,也是构建成熟 REST 服务的核心。
它的重要性在于打破了客户端和服务器之间严格的契约,使得客户端可以更加智能和自适应,
而 REST 服务本身的演化和更新也变得更加容易。