3

我们正在努力创建一个 RESTFul 服务,并尝试确定 URL 路径格式。

我们已经在整个组织中唯一标识一个资源,我们正在构建 Rest 服务,以请求者通过 http 内容协商寻找的格式为该资源提供服务。

我的问题是,我们应该如何形成服务的 url 路径,哪个更有意义。

http://{domain}/{somethinghere}/{full urn string}
or
http://{domain}/{somethinghere}/{urn-part-1}/{urn-part-2}/{urn-part-3}
4

1 回答 1

3

我也有同样的问题!...恕我直言,我会使用完整的瓮字符串,

http://{domain}/{somethinghere}/{full urn string}

它优雅、半合法,并且具有用户友好的功能,可以更轻松地将 URN 字符串复制并粘贴到您的 URL 中。这是我做的一些作业:

有一个旧的实验性RFC 2169建议放入完整的 urn 字符串,而不是 % 引用冒号 (:)。这是干净而优雅的......并且在野外有冒号的例子,例如,

http://en.wikipedia.org/wiki/Talk:Buckminster_Fuller

我的一个担心(任何人都可以确认或拒绝这一点吗?)是某些浏览器、服务器、框架或工具可能会尝试 %quote 或以其他方式阻塞冒号,因为它们可能对冒号代表什么做出各种假设。

RFC 1630和其他 RFC都没有明确说明是否可以在 http 方案的路径中使用冒号。但是有一个警告!冒号的位置对于确定 URL 是否是绝对的很重要(这在 RFC 1630 的“部分(相对)形式”部分中指定)。如果冒号出现在斜杠 (/) 之前,则 URL 是绝对的。(注意,冒号在 RFC 中被称为“保留”分隔符,但它的预期保留用途很明确,不排除在路径中使用。)

我很想在这里有更多关于这个的想法......(不仅仅是简单地逃避对所有内容进行斜线编码,因为这并不那么优雅)。

于 2011-09-04T22:03:33.340 回答