所有的 URL 都是 URN 吗?

Are all URLs also URNs?

URLs 和 URN 是 URI 的子集。

Stack Overflow 上有很多答案很好地解释了这些概念。你经常会发现一个维恩图,其中 URN 和 URL 是重叠的集合,这意味着这三个区域中的每一个都不为空。我可以想象一个不是 URL 的 URN:一本书的 ISBN。我也可以想象一个 URN 也是一个 URL:一个普通的网址。

URL 不是 URN 的例子有哪些?

  • URI:统一资源标识符
  • URL:统一资源定位符
  • URN:统一资源名称

URI 标识资源,它通过位置 (URL) 或名称 (URN) 完成。

参见:URI on Wikipedia

编辑

A​​ URL like http://example.com/ 不命名资源,只是可以获取的位置。资源命名 URL 将是 http://example.com/index.html...

根据 classical view,URI 可以是 URL 或 URN(或其他可能的东西),但不能同时是:

During the early years of discussion of web identifiers (early to mid 90s), people assumed that an identifer type would be cast into one of two (or possibly more) classes. An identifier might specify the location of a resource (a URL) or its name (a URN) independent of location. Thus a URI was either a URL or a URN.

因此在该视图中,任何指定资源位置的 URI 都将是 URL,并且永远不会是 URN。

(根据 contemporary view, this distinction isn’t considered to be useful. It’s recommended 对所有情况使用术语 URIURL。)