從RFC 3986 §1.1.3:
術語「統一資源定位器」(URL)是指URI的子集,除了標識一個資源,提供通過描述定位資源的一種手段其主要訪問機制(例如,其網絡「位置」)。術語「統一資源名稱」(URN)在歷史上被用於指代「urn」方案[RFC2141]下的兩個URI,即使在資源不存在或變得不可用時也需要保持全球唯一性和持久性,並且到具有名稱屬性的任何其他URI。
確切的區別包含在RFC 3305 §2之內,可以總結[翻譯?]如下。
統一資源標識符(URI)
URI是任何匹配在RFC 3986 Appendix A描述的語法;它確定了某種資源。所討論的資源可以是從網頁到電話號碼到街道地址到某些JavaScript到某個GUID的任何內容,由URI開始時的方案(第一個:
之前的部分)消除。
如您所述,您的所有示例都是URI。
統一資源定位器(URL)
URL是一個URI,也告訴您如何訪問任何資源位於其描述。這是一個非常非正式的概念(見RFC 3305 §2.2),因此很難確定。 (應該注意的是,根據我的經驗,大多數公衆在說到URL時指出的是URL。)
除了最後一個樣品外,其餘的都是,可能是的一個URL。 (區別不能對某些進行;如上述,網址是非正式的)更多關於爲什麼最後一個不是,請繼續閱讀,
統一資源名稱(URN)
的URN,如RFC 1737和RFC 2141所定義的,是一種給某種東西賦予或多或少永久名稱的方式。它具有語法
urn:<namespace>:<more :-separated parts>
其中urn:
是方案名稱(以便處理器知道這是一個URN),該<namespace>
告訴分開[基本]不同民族的URN的一種方式,而URN其餘[更多:
-separated text]標識該名稱空間內的某些內容。 RFC 1737 §2要求URN 總是指向完全相同的東西永遠。它還要求具有相應的URL的URNs 必須有一些方法可以被翻譯成該URL;這似乎意味着URN不是URL。
您的最後一個樣本(urn:oasis:names:specification:docbook:dtd:xml:4.1.2
)是urn
方案;根據定義,它是一個URN。