我看过很多关于 URI ,网址和 URN 的文章,但我不明白实际例子中的差异
您能举几个 URI 和网址的例子吗?
我认为http://stack.com/first/index.html?submit=yes&action=go#second
是URI,而不是网址,是吗?
然后http://stack.com/first/index.html
是网址,因为它不是那么具体吗?
这张图片是否正确?
答案 0 :(得分:2)
这里引用了J.Webber,S.Parastatidis,I.Robinson 中的 REST in Practice,它描述了差异的本质:
URL和URN是URI的特殊形式。
标识的URI 通常可以参考访问资源的机制 作为网址。 HTTP URI是URL的示例。
如果URI有 urn 方案并遵守RFC 2141和RFC 2611的要求 是 URN 。 URN的目标是为其提供全球唯一的名称 资源。
顺便提一下,本书的ISBN是 ISBN-13:978-0596805821 。如果您单击Amazon.com的链接为什么ISBN很重要,您将看到工具提示说:
此条形码可让您验证自己是否完全获得了 正确版本或版本的书。
这是urn:isbn
命名空间中URN(以及按定义的URI)的示例,它不假设任何给定的机制来检索此资源,但确实识别它。
如果你有一些在线书籍的链接,例如,PDF格式,这将是一个URL(和定义的URI),看起来像这样:
https://www.somewebsite.org/books/RestInPractice.pdf
答案 1 :(得分:0)
不,图像不正确。您的两个示例包括URI和URL。
每个网址都是一个URI 每个URN都是一个URI。
根据W3C的URIs, URLs, and URNs: Clarifications and Recommendations 1.0(也由IETF发布为RFC 3305):
在classical view中,如果URI指定资源的位置,则URI是URL;如果URI指定名称<,则URI是URN / strong>资源。
在contemporary view中,进行区分并不相关或有用。
Confusion可能会出现,因为术语“URI”和“网址”通常是同义词。
URI的互联网标准STD 66(目前映射到RFC 3986),recommends:
未来的规范和相关文档应使用通用术语“URI”而不是限制性更强的术语“URL”和“URN”
WHATWG URL Living Standard(和W3C’s version of it)says:
标准化术语URL。 URI和IRI只是令人困惑。在实践中,两者都使用单一算法,因此保持它们的区别对任何人都没有帮助。
urn
URI方案的URI使用“URN”,并且仅在您需要具体时才使用。