URI,URL和URN的例子
我已经阅读了很多关于URI , URL和URN的文章,但我不明白实际例子中的差异。
你能举几个例子的URI和URL吗?
我认为http://stack.com/first/index.html?submit=yes&action=go#second
是URI,而不是URL,是的?
那么http://stack.com/first/index.html
是URL,因为它不是特别的?
这张图片是否正确?
以下是J.Webber,S.Parastatidis,I.Robinson在实践中的REST实践中的一段引文,它抓住了差异的本质:
URL和URN是URI的特殊形式。
标识可以访问资源的机制的 URI通常称为URL 。 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
不,图像不正确。 你的两个例子都是URI和URL。
每个URL都是一个URI。
每个URN都是一个URI。
背景
根据W3C的URI,URL和URN:澄清和建议1.0(也由IETF作为RFC 3305发布):
在经典视图中,如果URI指定资源的位置 ,则URL是URL;如果指定资源的名称 ,则URI是URN。
在当代看来,做出这种区分是不相关的或有用的。
可能会产生混淆,因为术语“URI”和“URL”经常被同义使用。
对一切使用一个术语:URI或URL
互联网标准URI,STD 66(目前映射到RFC 3986)建议:
未来的规范和相关文档应该使用通用术语“URI”而不是限制性较强的术语“URL”和“URN”
WHATWG的URL生活标准(和W3C的版本)说:
标准化术语URL。 URI和IRI只是令人困惑。 在实践中,两种方法都使用单一算法,因此保持独特性不会帮助任何人。
我的建议
urn
URI方案的URI才使用“URN”,并且仅在需要特定时才使用。