程序员人生 网站导航

URI、URL、URN简单阐述

栏目:php教程时间:2015-05-14 09:11:21

URI

每一个Web 服务器资源都有1个名字,这样客户端就能够说明它们感兴趣的资源是

甚么了。服务器资源名被称为统1资源标识符(Uniform Resource Identifier,URI)。

URI 就像因特网上的邮政地址1样,在世界范围内唯1标识并定位信息资源。

这是Joe 的5金商店的Web 服务器上1个图片资源的URI:

http://www.joes-hardware.com/specials/saw-blade.gif


图1

图1显示了URI 是怎样唆使HTTP 协议去访问Joe 商店服务器上的图片资源的。

给定了URI,HTTP 就能够解析出对象。URI 有两种情势,分别称为URL 和URN。

URL

统1资源定位符(URL)是资源标识符最多见的情势。URL 描写了1台特定服务器上某资源的特定位置。它们可以明确说明如何从1个精确、固定的位置获得资源。图1显示了URL 如何精确地说明某资源的位置和如何去访问它。

URL实例:

http://www.oreilly.com/index.html                         O’Reilly &Associates 公司的主URL

http://www.yahoo.com/images/logo.gif                Yahoo! 的Web 站点标志URL

http://www.joes-hardware.com/inventory-check.cgi?item=12731       1个查看库存条目#12731 是不是有现货的程序的URL

ftp://joe:tools4u@ftp.joes-hardware.com/lockingpliers.gif  以密码保护的FTP 作为访问协议的locking

 

大部份URL 都遵守1种标准格式,这类格式包括3个部份。

?第1部份被称为方案(scheme),说明了访问资源所使用的协议类型。这部份通常就是HTTP 协议(http://)。

?第2部份给出了服务器的因特网地址(比如,www.joes-hardware.com)。

?第3部份指定了 Web 服务器上的某个资源(比如,/specials/saw-blade.gif)。

现在,几近所有的URI 都是URL。

URL 有两种方式:绝对的和相对的。绝对URL中包括有访问资源所需的全部信息。另外一方面,相对URL 是不完全的。要从相对URL 中获得访问资源所需的全部信息,就必须相对另外一个,被称为其基础(base)的URL 进行解析。相对URL 是URL 的1种便捷缩略记法。如果你写过HTML 的话,可能就会发现相对URL 是多么便捷了。图2 是1个嵌入了相对URL 的HTML 文档实例。

图2

图2是资源:http://www.joes-hardware.com/tools.html的HTML 文档。

在这个HTML 文档中有1个包括了URL ./hammers.html 的超链接。这个URL 看起来是不完全的,但实际上是个合法的相对URL。可以相对它所在文档的URL 对其进行解释;在这个例子中,就是相对Joe 的5金商店Web 服务器的资源/tools. html。

基础URL 为:http://www.joes-hardware.com/tools.html用这个URL 作为基础,可以推导有缺失的信息。我们知道资源名为./hammers.html,但其实不知道方案或主机名是甚么。通过这个基础URL,可以推导出方案为http,主机为www.joes-hardware.com。图3 对此进行了说明。


图3

URN

URI 的第2种情势就是统1资源名(URN)。URN 是作为特定内容的唯1名称使用的,与目前的资源所在地无关。使用这些与位置无关的URN,就能够将资源4处搬移。通过URN,还可以用同1个名字通过量种网络访问协议来访问资源。

比如,不论因特网标准文档RFC 2141 位于何处(乃至可以将其复制到多个地方),

都可以用以下URN 来命名它:

urn:ietf:rfc:2141

URN 依然处于实验阶段,还未大范围使用。为了更有效地工作,URN 需要1个支持架构来解析资源的位置。而此类架构的缺少也延缓了其被采取的进度。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐