我也有同样的问题!...恕我直言,我会使用完整的瓮字符串,
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 中被称为“保留”分隔符,但它的预期保留用途很明确,不排除在路径中使用。)
我很想在这里有更多关于这个的想法......(不仅仅是简单地逃避对所有内容进行斜线编码,因为这并不那么优雅)。