在学习REST架构时,我注意到在成为RESTful的统一接口约束中,超媒体似乎是一个重要部分;然而,我很难理解基于网络上找到的超媒体定义,客户端如何消费这个超媒体概念。
就我对REST的理解,超媒体基本上是提供给客户端的链接,这些链接包含了资源的表示(因此客户端只需知道REST服务的基本入口点URL)。这些链接实际上是帮助客户端了解其接收到的表示所涉及的选项(例如,如果我请求/children/资源,则可能会收到包含链接到/children/youngest,/children/oldest/,children/create等的XML子列表... 这正是我难以理解的地方... 为什么服务器必须向客户端返回这些“超媒体”链接呢?客户端不应该已经知道这些链接吗?客户端无法自己阅读并正确地跟踪这些链接... 某人必须事先编写客户端代码(例如HTML和/或JavaScript)。如果客户端应该已经知道这些链接,这些链接对客户端有什么好处呢?我错过了什么吗?
就我对REST的理解,超媒体基本上是提供给客户端的链接,这些链接包含了资源的表示(因此客户端只需知道REST服务的基本入口点URL)。这些链接实际上是帮助客户端了解其接收到的表示所涉及的选项(例如,如果我请求/children/资源,则可能会收到包含链接到/children/youngest,/children/oldest/,children/create等的XML子列表... 这正是我难以理解的地方... 为什么服务器必须向客户端返回这些“超媒体”链接呢?客户端不应该已经知道这些链接吗?客户端无法自己阅读并正确地跟踪这些链接... 某人必须事先编写客户端代码(例如HTML和/或JavaScript)。如果客户端应该已经知道这些链接,这些链接对客户端有什么好处呢?我错过了什么吗?