我们正在创建一个RESTful服务,试图决定URL路径格式。
我们有一个URN用于在整个组织中唯一标识资源,我们正在构建Rest服务以通过HTTP内容协商以请求者所需的格式提供该资源。
我的问题是,我们应该如何形成服务的URL路径,哪种更合理。
http://{domain}/{somethinghere}/{full urn string}
or
http://{domain}/{somethinghere}/{urn-part-1}/{urn-part-2}/{urn-part-3}
我也有同样的问题!在我看来,我会使用完整的URN字符串。
http://{domain}/{somethinghere}/{full urn string}
http://en.wikipedia.org/wiki/Talk:Buckminster_Fuller
我的一个担忧是(有人能否确认或否认这一点?)某些浏览器、服务器、框架或工具可能会尝试在冒号上进行引用或其他方式的限制,因为它们可能对冒号代表的内容做出各种假设。
既不RFC 1630也不其他RFC明确指出冒号是否可以在http方案的路径中使用。然而,需要注意的是!冒号的位置很重要,以确定URL是否是绝对的(这在RFC 1630的“部分(相对)形式”一节中有规定)。如果冒号出现在斜杠(/)之前,则URL是绝对的。(顺便说一下,RFC中将冒号称为“保留”分隔符,但其预期的保留用途是清晰的,并不排除在路径中使用。)
我希望听到更多关于这个问题的想法...(而不仅仅是采取轻松的斜杠编码所有内容的方法,因为那并不够优雅。)