HTTP笔记:URI与URL

URI与URL

简单理解是这样的:
理解URI和URL的区别,我们引入URN这个概念。

URI = Universal Resource Identifier 统一资源标志符
URL = Universal Resource Locator 统一资源定位符
URN = Universal Resource Name 统一资源名称

首先我们要弄清楚一件事:URL和URN都是URI的子集

换言之,URL和URN都是URI,但是URI不一定是URL或者URN。为了更好的理解这个概念,看下面这张图片。

HTTP笔记:URI与URL

通过下面的例子,我们可以很好地理解URN 和 URL之间的区别。如果是一个人,我们会想到他的身份证号和住址。

URL类似于住址,它告诉你一种寻找目标的方式(在这个例子中,是通过街道地址找到一个人)。要知道,上述定义同时也是一个URI。

相对地,我们可以把一个人的身份证号看作是URN;因此可以用URN来唯一标识一个实体。尽管没有告诉你用什么方式或者到什么地方去找到目标,但是你有足够的信息来检索到它。

 
URL代表资源的路径地址,而URI代表资源的名称。
通过URL找到资源是对网络位置进行标识,如:
  • http://example.org/absolute/URI/with/absolute/path/to/resource.txt
  • ftp://example.org/resource.txt
通过URI找到资源是通过对名称进行标识,这个名称在某命名空间中,并不代表网络地址,如:
  • urn:issn:1535-3613

原来URI包括URL和URN,后来URN没流行起来,导致几乎目前所有的URI都是URL