4.4.1. 发现 Application 的 URL
4.4.1. 发现 Application 的 URL (Discovering an Application's URLs)
通常, client 会通过发现某个 URL 开始与给定 application 交互. 这可以通过多种方式发生, 包括:
-
URL 由 user 或 administrator 手动配置 (例如在 configuration file 中);
-
URL 由 discovery mechanism 提供 (例如 link [WEB-LINKING] 或 well-known URL [WELL-KNOWN-URI]); 或
-
使用 template [URI-TEMPLATE] 或类似机制, 从其他信息构造 URL.
使用 URL 的 application 应显式规定这些机制中的一个或多个.
例如:
Client 被配置一个 starting URL.
application root 使用 well-known URL [WELL-KNOWN-URI] 发现.
application 使用 link relation [WEB-LINKING] 在 resource 之间导航.
规范 SHOULD NOT 为 application URL 定义固定 prefix. 例如, 定义 protocol 总是使用 path prefix /app 是不良实践, 除非该 prefix 对 application 正常工作确实必要. 如果此类约束与其他 requirement 冲突, 很难绕开.
不过, 规范可以在必要时定义结构. 例如, 规范可能要求 resource 同时由 category 和 item identifier 标识, 并使用如下 template:
/{category}/{item}
在这种情况下, application 可以提供一个可配置的 base URL, 允许在其下应用此 template.