面向资源架构:可寻址性、无状态性与表示形式解析
1. 可寻址性:Web 应用的关键特性
在 Web 应用的世界里,可寻址性是一项极为重要的特性。就如同电子表格中的单元格,每个单元格都有其特定的名称,你可以将单元格名称嵌入公式,公式会使用该单元格当前的值。而在 Web 中,统一资源标识符(URI)就像是文件路径和单元格地址,让我们能够精准定位所需的信息。
可寻址性使得客户端能够以开发者未曾预想的方式使用网站。遵循这一规则,你和你的用户能够享受到 REST(表述性状态转移)带来的诸多益处。这也是 REST - RPC 服务如此常见的原因,它们将可寻址性与过程调用编程模型相结合。在面向资源的架构(ROA)中,资源之所以占据核心地位,正是因为资源具有可寻址性。
然而,现实中许多 Web 应用并未充分利用可寻址性,Ajax 应用就是典型的例子。以 Gmail 在线电子邮件服务为例,从终端用户的角度看,无论你如何操作,始终只有一个 URI:https://mail.google.com/ 。你无法像访问 Google 关于水母的网页那样,直接通过特定 URI 访问关于水母的电子邮件资源。但实际上,Gmail 背后存在可寻址的网站,例如关于水母的电子邮件列表有其对应的 URI:https://mail.google.com/mail/?q=jellyfish&search=query&view=tl 。只不过,真正消费这个网站的是运行在浏览器中的 JavaScript 程序,而不是用户本身。这就导致 Gmail 网络服务具有可寻址性,但其 Web 应用却缺乏这一特性。
2. 无状态性:简化 Web 交互的秘诀
无状态性是 ROA 的四
超级会员免费看
订阅专栏 解锁全文
2744

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



