API 筹划是有风格的,RPC、REST、GraphQL 是当前比力盛行的三种筹划风格。在反面的文章中,我们会接纳 REST 风格,对 API 举行筹划和实现,以是本文就和各人一起熟悉一下 REST.
REST 是 Representational State Transfer 的缩略词体现,直译过来就是表征状态传输,具象状态传输,表述性状态转移,表近况态传输等,这也是网络上常见等译法。这种直译,让人有种知道每个词的意思,但不知道这些词组合起来在说什么的感觉。
以是,我们先来了解一下 REST 的产生,再实验表明一下这个术语。
REST 汗青
2000年,Roy Thomas Fielding 在他的博士学位论文——《Architectural Styles and the Design of Network-based Software Architectures》——中提出了 REST 架构风格,并在论文的第五章,CHAPTER 5 Representational State Transfer (REST),具体论述了 REST 架构风格。与此同时,论文的作者正在举行 HTTP 1.1 协议的开发工作。正是这项工作,促成了 REST 架构风格的产生。
REST 架构风格的目的就是资助构建高效的、可扩展的、可靠的分布式体系。分布式体系也是一个比力抽象的词,在这里,我们可以明白为由很多位于差异盘算机上的软件构成,相互之间靠网络毗连和通讯,协同完成工作的体系。
论文作者提出,REST 架构风格的筹划要满足下面六个束缚(constraint)要求:
A representation consists of data, metadata describing the data, and, on occasion, metadata to describe the metadata (usually for the purpose of verifying message integrity).
representation 包罗数据,元数据(形貌数据的数据),形貌元数据的数据
。
The data format of a representation is known as a media type.