- URI:Uniform Resource Identifier,统一资源标识符。用来唯一的标识一个资源。
一般由三部分组成:访问资源的命名机制;存放资源的主机名;资源自身的名称(由路径表示,着重强调于资源) - URL:Uniform Resource Location,统一资源定位符。它是一种具体的 URI,即 URL 可以用来标识一个资源,而且还指明了如何定位这个资源。
一般由三部分组成:协议;存有该资源的主机IP地址(有时也包括端口号);主机资源的具体地址(如目录和文件名等)。 - URN:Uniform Resource Name,统一资源名称。是通过名字来标识资源。例如:
mailto:java-net@java.sun.com
格式:
http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name
- 协议部分:
http:
,代表网页使用的是HTTP协议。//为分隔符。- 域名部分:
www.aspxfans.com
。
一个URL中,也可以使用服务器 IP地址作为域名(例如:http://127.0.0.1/index.html
)。 由于IP地址都是数字,且没有任何意义,比较难记,所以在访问网页时最常见的不是IP地址而是域名(一串有含义的字母或数字)。- 端口部分:
8080
。域名和端口之间使用:作为分隔符。端口不是url必须的部分,如果省略,将采用默认端口。
服务器IP地址和端口号的作用就是告诉浏览器我们需要访问的那台服务器的详细地址。- 目录部分:
/news/
。从第一个/开始到最后一个/为止,是目录部分。目录不是URL的必须部分。- 文件名部分:
index.asp
。从域名后的最后一个/开始到?为止,是文件名部分;如果没有,则是从域名后的最后一个/开始到#为止;如果没有?和#,则是从域名后的最后一个/开始到结束。文件名也不是URL的必须部分,如果省略,则使用默认的文件名。- 参数部分:
boardID=5&ID=24618&page=1
。从?开始到#为止之间的部分都是参数部分,又称搜索部分、查询部分。参数可以允许有多个,用&作为分隔符。- 锚部分:
name
。从#开始到最后,都是锚部分。锚部分也不是URL的必须部分。
也就是说,URI 是以一种抽象的,高层次概念定义统一资源标识,而 URL 和 URN 则是具体的资源标识的方式。URL 和 URN 是 URI 的子集。
以人为例:
身份证号就是URI。
xx省xx市xx区xx街道xx小区xx座xxx阿铛就是URL。但也起到了标识出唯一一个人的作用,也就是URI的作用,所以URL是URI的子集。
URL是以描述人的位置来唯一确定一个人的。