URI:Uniform Resource Identifier统一资源标志符
URI是在某一规则下能把一个资源独一无二地标识出来,通过这个标识可以访问一个唯一的资源。
这里的“资源”表示的是web上每一种可用的资源,如HTML文档、图像、视频片段、程序等,它们可以都由唯一的一个URI字符串进行标识,具体的标识规则由我们自己确定。
放到现实中,资源可以类比一个独一无二的人、动物、物体,而URI类似于身份证或者DNA(反正是要独一无二的,它可以使任何规则)
URL:Uniform Resource Location统一资源定位符
URL一个通过位置来标识资源的字符串,是目前网络资源的主要访问机制的。
一个标准的URL必须包括:protocol、host、port、path、parameter、anchor,例如,动物住址协议://地球/中国/浙江省/杭州市/西湖区/某大学/14号宿舍楼/525号寝/张三.人,这个字符串同样标识出了唯一的一个人,起到了URI的作用。
可以看出来,URL是通过位置来确定一个资源的
因此URL是URI的子集,或者说URL是URI的一种实现方式
在上文我们用身份证号也可以唯一确定一个人。用位置也可以确定一个人,对于这个在杭州的张三,我们也可以用:
URI: 身份证号:123456789
URL: 位置:动物住址协议://地球/中国/浙江省/杭州市/西湖区/某大学/14号宿舍楼/525号寝/张三.人
所以不论是用定位的方式还是用编号的方式,我们都可以唯一确定一个人,都是URl的一种实现,而URL就是用定位的方式实现的URI。
回到Web上,假设所有的Html文档都有唯一的编号,记作html:xxxxx,xxxxx是一串数字,即Html文档的身份证号码,这个能唯一标识一个Html文档,那么这个号码就是一个URI。
而URL则通过描述是哪个主机上哪个路径上的文件来唯一确定一个资源,也就是定位的方式来实现的URI。
对于现在网址我更倾向于叫它URL,毕竟它提供了资源的位置信息,如果有一天网址通过号码来标识变成了http://123456789.html,那感觉叫成URI更为合适,不过这样子的话还得想办法找到这个资源…