2013-05-20 66 views
0

以下是URI。但哪些是網址?哪些是URN?哪些是URL?哪些是URN?

ftp://ftp.is.co.za/rfc/rfc1808.txt 
http://www.ietf.org/rfc/rfc2396.txt 
ldap://[2001:db8::7]/c=GB?objectClass?one 
mailto:[email protected] 
news:comp.infosystems.www.servers.unix 
tel:+1-816-555-1212 
telnet://192.0.2.16:80/ 
urn:oasis:names:specification:docbook:dtd:xml:4.1.2 

回答

1

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 1737RFC 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。