原文连接 blog
URI, 既是统一资源标识符号,每个 Web 服务器都有一个 URI 标识符,它在世界范围内唯一标识并定位信息资源。
它具有两种形式,URN (统一资源名)、URL(统一资源定位符)。
URN (统一资源名),是作为特定内容的唯一名称使用的,与目前资源所在地无关。使用这些与位置无关的 URN,就可以将资源四处搬移。通过 URN,还可以用同一个名字通过多种网络访问协议来访问资源。
URL(统一资源定位符),是 URI 最常见的形式,它描述了一台特定服务器上某资源的特定位置。它们可以明确说明如何从一个精确、固定的位置获取资源。
一个完整的 URL 通常包括以下三部分:
jkchaom@gmail.com
,或者其他协议。
整合到结构,既是“方案 :// 服务器位置/路径”
此外,一些非必需的 URL 组件也在其中扮演着非常重要的作用:
URL 表示的是实际的地址,而不是准确的名字。这就意味着 URL 会告诉你资源此时处于什么位置,它会为你提供特定端口上特定服务器的名字,告诉你在何处可以找到这个资源。这种方案的最大弊端在于,如果资源被移走了,URL 也就不再有效了。那时,它就无法对对象进行定位了。
永久统一资源定位符(PURL),是用 URL 实现 URN 功能的一个例子。其基本思路是在搜索资源的过程中引入另一个中间层,通过一个中间资源定位符服务器对资源的实际 URL 进行登记和跟踪,客户端可以向定位符请求一个永久 URL ,定位符可以以一个资源作为响应,将客户端重定向到资源当前实际 URL 上去。如下图所示: