转自:http://www.cnlei.org/blog/article.asp?id=356
URI、URL和URN之间的区别与联系
[ 2006-12-19 by 作者:
CNLei
]
URI:Uniform Resource Identifier,统一资源标识符;
URL:Uniform Resource Locator,统一资源定位符;
URN:Uniform Resource Name,统一资源名称。
其中,URL,URN是URI的子集
。
Web上地址的基本形式是URI,它代表统一资源标识符。有两种形式:
URL:目前URI的最普遍形式就是无处不在的URL或统一资源定位器。
URN:URL的一种更新形式,统一资源名称(URN, Uniform Resource Name)不依赖于位置,并且有可能减少失效连接的个数。但是其流行还需假以时日,因为它需要更精密软件的支持。
URI是以某种统一的(标准化的)方式标识资源的简单字符串。
URI一般由三部分组成:
1. 访问资源的命名机制。
2. 存放资源的主机名。
3. 资源自身的名称,由路径表示。
典型情况下,这种字符串以scheme(命名URI的名字空间的标识符——一组相关的名称)开头,语法如下:
[scheme:] scheme-specific-part
URI以scheme和冒号开头。Scheme用大写/小写字母开头,后面为空或者跟着更多的大写/小写字母、数字、加号、减号和点号。冒号把
scheme与scheme-specific-part分开了,并且scheme-specific-part的语法和语义(意思)由URI的名字空间
决定。如下面的例子:
http://www.cnn.com,其中http是scheme,//www.cnn.com是 scheme-specific-part,并且它的scheme与scheme-specific-part被冒号分开了。
URI有绝对和相对之分,绝对的URI指以scheme(后面跟着冒号)开头的URI。前面提到的http://www.cnn.com就是绝对的URI
的一个例子,其它的例子还有mailto:jeff@javajeff.com、news:comp.lang.java.help和xyz:
//whatever。你可以把绝对的URI看作是以某种方式引用某种资源,而这种方式对标识符出现的环境没有依赖。如果使用文件系统作类比,绝对的
URI类似于从根目录开始的某个文件的径。
与绝对的URI不同的,相对的URI不是以scheme(后面跟着冒号)开始的URI。
它的一个例子是articles/articles.html。你可以把相对的URI看作是以某种方式引用某种资源,而这种方式依赖于标识符出现的环境。
如果用文件系统作类比,相对的URI类似于从当前目录开始的文件路径。
URL是Uniform Resource
Location的缩写,译为"统一资源定位符"。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器
程序上,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
URL的格式由下列三部分组成:
第一部分是协议(或称为服务方式);
第二部分是存有该资源的主机IP地址(有时也包括端口号);
第三部分是主机资源的具体地址。,如目录和文件名等。
第一部分和第二部分之间用"://"符号隔开,第二部分和第三部分用"/"符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。
目前最大的缺点是当信息资源的存放地点发生变化时,必须对URL作相应的改变。因此人们正在研究新的信息资源表示方法,例如:URI(Universal
Resource Identifier)即"通用资源标识"(参见RFC 1630)、URN(Uniform Resource
Name)即"统一资源名"和URC(Uniform Resource Citation)即"统一资源引用符"等。
URI目前还处在进一步的研究当中。研究的方向就是弥补URL目前存在的缺点。
分享到:
相关推荐
URI、URL和URN之间的关系是:URI是顶层概念,包括了URL和URN。URL是URI的一种具体形式,用于提供资源的访问途径,而URN则提供了一个永久性的名字,即使资源的物理位置改变,依然可以通过URN找到资源。 在Java中,...
URN 则与 URL 不同,它提供了一个独立于位置的资源名称,旨在为资源提供一个持久不变的标识,即使资源的位置或状态发生变化。URN 是一个全局唯一的标识,通常依赖于命名服务来查找具体的资源。 在Java中,URI和URL...
#### 三、URI与URL之间的区别及联系 - **区别**: - **URI**是对资源的标识,不提供如何访问该资源的信息。 - **URL**是一种特殊的URI,不仅标识资源,还提供访问资源的方法。 - **URN**(Uniform Resource Name...
二、URI和URL的区别及关系 简而言之,URI是标识某一个资源,而URL用位置来标识一个资源。 一、URI、URL和URN Web上地址的基本形式是URI,它有多种形式:常见的有URL和URN。 URI = Universal Resource Identifier ...
总的来说,理解和区分URI与URL对于理解和开发Web应用程序至关重要。在编程或配置网络服务时,正确使用这两个概念能够确保资源的准确定位和访问。例如,在STRUTS配置文件中,URI可能用来定义一个动作或者资源的标识,...
Uri库遵循PSR-0和PSR-4规范,可以轻松与其他遵循这些规范的项目集成。此外,它还提供了一些可扩展点,允许开发者自定义特定的URI行为或处理逻辑。 6. **最佳实践**: - **避免硬编码URI**:使用Uri库来动态构建和...
在讨论URI时,常常会遇到其他类似的术语,例如URL(Uniform Resource Locator,统一资源定位符)和URN(Uniform Resource Name,统一资源名称)。这些术语之间的关系如下: - **URL**:URL是一种特殊的URI,用于...
URI(统一资源标识符)和URL(统一资源定位符)是互联网资源定位的基础概念,而URN(统一资源名称)则是一种特殊的URI,用于持久命名资源。本文将深入探讨这些概念及其在Java中的实现。 首先,URI是全球唯一的资源...
URI(Uniform Resource Identifier)和URL(Uniform Resource Locator)是互联网上资源定位的两种重要概念,它们之间存在着密切的关系,但又有明显的区别。 URI是统一资源标识符,它是一个全局唯一的字符串,用于...
Java 8 documentation for class URI, a good reference for recapping the concepts and use cases of URI/URL/URN.
在Web应用中,URI扮演着至关重要的角色,它用于定位网络资源,包括URL(Uniform Resource Locator)和URN(Uniform Resource Name)。URI.js 提供了一套完整的API,使得开发者可以轻松地解析、构建、修改和操作URI。...
URI是互联网上资源的唯一标识符,包括我们常见的URL(Uniform Resource Locator)和URN(Uniform Resource Name)。这份文档详细阐述了URI的构建块、语法、编码规则以及解析过程,对于理解互联网资源的定位和引用至...
在IT行业中,URI(Uniform Resource Identifier)是一种标准的标识资源的方式,它包括URL(Uniform Resource Locator)和URN(Uniform Resource Name)。"VSoft.Uri-master_SimpleUriParser_"这个项目是针对URI解析...
### 磁力链接(Magnet URI):一种基于内容识别的链接方式 #### 一、磁力链接的概念与特点 磁力链接(Magnet URI)是一种特殊的链接格式,主要用于点对点(P2P)文件共享网络中,如BitTorrent。与传统的HTTP或FTP...
它包含了URL(Uniform Resource Locator)和URN(Uniform Resource Name),是互联网上的资源定位和命名的核心部分。URI schemes则是定义如何解析和访问这些资源的特定协议或方式。本文将深入探讨"uri-schemes-1.x-...
1. URI和URL的区别:在理解sabre/uri库之前,首先需要知道URI和URL之间的区别。URI是统一资源标识符,它包括URL(统一资源定位符)和其他类型的资源标识,如URN(统一资源名称)。URL是URI的一个子集,提供了资源的...
在IT行业中,URI(Uniform Resource Identifier)是用于唯一标识网络资源的一种标准,它包括URL(Uniform Resource Locator)和URN(Uniform Resource Name)。本项目“uri-problems”专注于解决与URI相关的各种问题...
分层URI(Hierarchical Uniform Resource Identifier)是互联网上资源的唯一标识,如URL(Uniform Resource Locator)和URN(Uniform Resource Name)。本资料主要探讨了如何使用JavaScript来处理和解析这些在网络...