分享

URI, URL和URN的区别

 jinzq 2008-03-19

以前一直没有搞明白这几个东东的关系。在baidu上查的中文资料大多只介绍了语法的细节,对这几个概念并没有解释的和明白。今天大概看了一下RFC3986后才算把这几个概念搞清楚。RFC关于URI是如下定义的:"A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. "下面对组成URI的三个词分别做一下解释。

  • Uniform,统一。统一可以带来一些好处。. 它使得不同类型的资源标识符在同一个上下文中使用,即使对这些资源的访问方式有可能是不同的。
  • Resource,资源。这里的资源可以是任何东西,如电子文档、图片和服务等。而且也不一定是可以通过Internet访问到的资源,例如人、企业、图书馆里的书等。同样,资源也可以是抽象的概念,如关系(父母,雇员),数值(零,一,无穷)。
  • Identifier,标识符。标识符表示URI用来区分资源。这种标识可以有各种不同的形式,如用名字作为标识符,或者用访问这种资源的地址作为标识符。因此URL和URN是URI的子集,即URI = { URL, URN, ...}

      下面是一些URI的例子:

   ftp://ftp.is.co.za/rfc/rfc1808.txt

http://www./rfc/rfc2396.txt

ldap://[2001:db8::7]/c=GB?objectClass?one

mailto:John.Doe@example.com

news:comp.infosystems.www.servers.unix

tel:+1-816-555-1212

telnet://192.0.2.16:80/

      如果一个URI是URL则说明该URI包含了访问某一资源的方式,否则我们认为这个URI仅仅是一个URN。其实不必非要把一个URI归为URL或者URN两者中的某一类,有时一个URI可能既是一个URL也是一个URN,这要看发布该URI的机构怎么规定。
 
 

 
 URL = Uniform Resource Locator;
 URI = Uniform Resource Identifier;

 从字面上可以看出,URL强调得是“定位”,也就是说,更强调
位置这个概念,而URI则说明是“标识”,更为注重资源而不太注重位置;
URI对于定位Internet上的资源是更为通用的架构;

  给你举个例子吧。
  比如http:///bb.xml这个URL,注重得是这个地方得
bb.xml这个文件,当然我们通过这个URL可以访问其内容,如果这个
bb.xml被移动到cc.com上去,我们再通过上URL是访问不到bb.xml的,
但是我们如果将其看作URI则仍然可能访问的到。:)
  
  其实现在URI还在研究中,可以把URL看作一种原始的URI.
被当前软件所支持的唯一一种URI也就是URL,所以你在学习中在形式上就把
URI看作URL好了,但是一定要理解URI的思想。
 
 

 
必须首先说一下URI(Uniform Resource Identifier),中文通常称作“统一资源标识符”,它是语义网的根基。同现在互联网使用URL标识HTML页面一样,语义网同样需要一个类似的规范,用来唯一标识网络上的资源。语义网使用URI规范,具体的规范在RFC 2396里进行了详细的说明。任何组织和个人都可以自由定义和使用URI。需要澄清的一个概念是,URI的使用与URL有很大区别。URL被用来标识一个网络路径,可以通过互联网在这个URL上访问到对应的资源;但一个URI所标识的资源可能根本无法通过网络访问到,它标识而且仅仅是标识一个资源,并不同时包含该资源的访问路径。从概念上来讲,URI包含URL。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多