URL, URN, URI, IRI的区别

“网址”到底是什么?一般的理解是URL(Uniform resource locator

在RDF/OWL1/OWL2中却使用了不同的概念

还有一个相关概念 URN(Uniform Resource Name)。他们有什么区别?

简述如下:

URL是这样的形式:

scheme://domain:port/path?query_string#fragment_id

如本页的编辑页面是  https://blog.baojie.org:80/wp-admin/post-new.php?post_type=post#

URI是URL的扩展,形式是:

<scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ]

例:
foo://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose
Wikipedia上列有官方和非官方的URI scheme,如about, ed2k, doi, skype,都是。

URI不一定指向一个网址

URN是一种URI,形式如 urn:isbn:0451450523(书号),urn:mpeg:mpeg7:schema:2001(MPEG-7标准)。URN使我们可以描述一个资源而不必关系它的具体存档地址。

IRI是URI的扩展:URI只能用ASCII,而IRI可以用Universal Character Set (USC), Unicode——比如中文。

所以RDF和OWL里的资源,都不只是用“网址”来命名的。理论上,每个人都可以自己定义一个scheme来唯一确定自己的资源,不一定要放在网上,比如对我的冰箱,我可以命名为

urn:baojie-bengbu-iowa:冰箱:2012

更多关于URL/URI/IRI的请看W3C官方网页:Naming and Addressing: URIs, URLs, …

另参Tim Berners-Lee的Design IssuesDocument Naming (1991)

他们之间的关系

    IRI is a superset of URI (IRI ⊃ URI)
    URI is a superset of URL (URI ⊃ URL)
    URI is a superset of URN (URI ⊃ URN)
    URL and URN are disjoint (URL ∩ URN = ∅)

posted @ 2022-03-25 20:28  小林野夫  阅读(611)  评论(0)    收藏  举报
原文链接:https://www.cnblogs.com/cdaniu/