探秘Web:从架构到分布式应用平台
1. HTTP基础与资源交互
HTTP 不仅定义了一系列动词,还定义了一组响应代码,像 200 OK、201 Created 和 404 Not Found 等,这些响应代码协调着由动词引发的交互。动词和状态代码共同为通过网络对资源进行操作提供了一个通用框架。
要与 Web 上托管的资源进行交互,我们只需要资源、标识符和操作。例如,使用 HTTP 请求并传递订单的 XML 表示,整个过程由 HTTP 响应代码进行协调。
2. 从 Web 架构到 REST 架构风格
研究人员对 Web 的快速发展很感兴趣,深入研究其架构基础。Roy Fielding 在他的博士研究中,将 Web 的架构原则进行了概括,提出了一种架构风格——REpresentational State Transfer(REST)。REST 将 Web 描述为一个分布式超媒体应用,其中相互链接的资源通过交换资源状态的表示进行通信。
3. 超媒体:应用状态的引擎
Fielding 的工作对 Web 的描述产生了重大影响,引入了超媒体作为应用状态的引擎。这让我们对 Web 的用途有了新的认识,不再局限于信息存储和检索。
在分布式应用中,它就像一个状态机,从一个状态过渡到另一个状态来推进。与传统状态机不同的是,可能的状态和它们之间的转换事先并不确定,而是在应用到达新状态时才被发现。
在超媒体系统中,应用状态通过唯一可识别资源的表示进行通信。应用可以转换到的状态的标识符以链接的形式嵌入到当前状态的表示中。这就是著名的超媒体作为应用状态引擎(HATEOAS)约束的核心。我们在日常浏览
超级会员免费看
订阅专栏 解锁全文
883

被折叠的 条评论
为什么被折叠?



