大部分人对URL和URI 的区分都有困扰的时候。下面,来简明说明下区分两者的要点,扫清对他们的困扰。
经验式理解:http://localhost:8080/myweb/hello.html
以上web地址,http://localhost:8080/myweb/hello.html=URL;myweb/hello.html=URI。这是大部分程序员对两者理解的一个典型代表。
接下来我们看一下两者的定义
<1>什么是URI
URI,通一资源标志符(Universal Resource Identifier, URI),表示的是web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行定位的。
URI的结构组成
URI通常由三部分组成:①访问资源的命名机制;②存放资源的主机名;③资源自身的名称,由路径表示。
<2>什么是URL
URL是URI的一个子集。它是Uniform Resource Locator的缩写,译为“统一资源定位 符”。通俗地说,URL是Internet上描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上。
URL的格式由三部分组成: ①第一部分是协议(或称为服务方式)。②第二部分是存有该资源的主机IP地址(有时也包括端口号)。③第三部分是主机资源的具体地址,如目录和文件名等。
第一部分和第二部分用“?/”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。
三、URI和URL之间的区别
URI和URL都定义了资源是什么,但URL还定义了该如何访问资源。URL是一种具体的URI,它是URI的一个子集,它不仅唯一标识资源,而且还提供了定位该资源的信息。URI 是一种语义上的抽象概念,可以是绝对的,也可以是相对的,而URL则必须提供足够的信息来定位,是绝对的。