2013-05-20 69 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。