URI和URL区别

2.1.1 什么是URI

Web上可用的每种资源 - HTML文档、图像、视频片段、程序等 - 由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。

URI一般由三部分组成:

访问资源的命名机制。
存放资源的主机名。
资源自身的名称,由路径表示。
考虑下面的URI,它表示了当前的HTML 4.0规范:

http://www.webmonkey.com.cn/html/html40/
这个URI是这样的:这是一个可通过HTTP协议访问的资源,位于主机www.webmonkey.com.cn上,通过路径“/html/html40”访问。在HTML文档中其它资源包括"mailto"(收发email)和"ftp"(FTP访问)。

这是URI的另一个例子,指向一个用户的邮箱:
<A href="mailto:[email protected]">Joe Cool</A>
注:大多数读者可能熟悉"URL",而不是URI。URL是URI命名机制的一个子集。

2.1.2 片段标志符

有的URI指向一个资源的内部。 这种URI以"#"结束,并跟着一个anchor标志符(称为片段标志符)。例如,下面是一个指向section_2的URI:
http://somesite.com/html/top.html#section_2

2.1.3 相对URI

相对URI 不包含任何命名规范信息。它的路径通常指同一台机器上的资源。相对URI可能含有相对路径(如,“..”表示上一层路径),还可能包含片段标志符。

为了说明相对URI,假设我们有一个基本的URI
"http://www.acme.com/support/intro.html"。下面的链接中使用了相对URI:
<A href="suppliers.html">Suppliers</A>
它扩展成完全的URI就是 "http://www.acme.com/support/suppliers.html",
下面是一个图像的相对URI:
<IMG src="../icons/logo.gif" alt="logo">
它扩展成完全的URI就是 "http://www.acme.com/icons/logo.gif"。
在HTML中,URI被用来:

链接到另一个文档或资源(参看A和LINK元素)。
链接到一个外部样式表或脚本(参看LINK和SCRIPT元素)。
在页内包含图像、对象或applet(参看IMAG、OBJECT、APPLET和INPUT元素)。
建立图像映射(参看MAP和AREA元素)。
提交一个表单(参看FORM)。
建立一个框架文档(参看FRAME和IFRAME元素)。
引用一个外部参考(参看Q、BLOCKQUOTE, INS和DEL元素)。
指向一个描述文档的metadata(参看HEAD元素)。

========================================================================== URL 统一资源定位符   
URI   统一资源标示符   
两者是不一样的,URI是一个更广泛的概念,如URL,URN都是一种URI,   可以说URI是抽象的,而具体使用URL,URN来定位。

 

  URI、URL和URN是识别、定位和命名互联网上的资源的标准途径; URL,URN是URI的子集.

     URI不能定位或读取/写入资源。这是统一的资源定位器(URL)的任务。URL是一种URI,但是它的大纲组件是已知的网络协议(简称协议),并且它把URI组件与某种协议处理程序(一种资源定位器和根据协议建立的约束规则与资源通讯的读/写机制)。

  URI一般不能为资源提供持久不便的名称。这是统一的资源命名(URN)的任务。URN也是一种URI,但是全球唯一的、持久不便的,即使资源不在存在或不再使用。

      web上地址的基本形式是URI,它代表统一资源标识符。有两种形式:
      URL:目前URI的最普遍形式就是无处不在的URL或统一资源定位器。
      URN:URL的一种更新形式,统一资源名称(URN, Uniform Resource Name)不依赖于位置,并且有可能减少失效连接的个数。但是其流行还需假以时日,因为它需要更精密软件的支持。

体系中的URI、URL和URN是彼此关联的。URI的范畴位于体系的顶层,URL和URN的范畴位于体系的底层。这种排列显示URL和URN都是URI的子范畴, URI表示的是统一的资源标识,它是以某种统一的(标准化的)方式标识资源的简单字符串。典型情况下,这种字符串以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:[email protected]、news:comp.lang.java.help和xyz://whatever。你可以把绝对的URI看作是以某种方式引用某种资源,而这种方式对标识符出现的环境没有依赖。   

如果使用文件系统作类比,绝对的URI类似于从根目录开始的某个文件的路径。与绝对的URI不同的,相对的URI不是以scheme(后面跟着冒号)开始的URI。

它的一个例子是articles/articles.html。你可以把相对的URI看作是以某种方式引用某种资源,而这种方式依赖于标识符出现的环境。如果用文件系统作类比,相对的URI类似于从当前目录开始的文件路径。

 

 

你可能感兴趣的:(URI和URL区别)