URL与URI区别

最近经常看到URL统一资源定位符和URI统一资源标识符,有点分不清楚,于是做了一个系统性的学习。在这里将自己的学习笔记粘贴出来,希望对大家有帮助

【官方定义】

官方的定义分别如下:

(URL)A Uniform Resource Locator thatidentifies the location of an Internet resource as specified by RFC 1738.(统一资源定位符用于标示网络资源的位置)

(URI,统一资源标识符)A Uniform Resource Identifier that identifies an abstract or physical resource, as specified by RFC 2396.(统一资源标识符用于标示一个抽象或者物理资源)

 

【格式】

(1)URL的格式一般由下列三部分组成:

协议(或称为服务方式);

存有该资源的主机IP地址(有时也包括端口号);

主机资源的具体地址。

(2)URI一般由三部分组成:

访问资源的命名机制;

存放资源的主机名;

资源自身的名称,由路径表示。

 

【举例】 

(1)大家平常用图片的时候。到底是imgUrl好呢,还是imgUri好?显然,如果说imgUrl是肯定没问题的,因为即使它实际上是url,那它也是uri的一种。那么用imgUri

有没有问题呢?此时则要看它的可能取值,如果是绝对路径,能够定位的,那么用imgUri是没问题的,而如果是相对路径,那还是不要用ImgUri的好。总之,用imgUrl是肯定没问题的,而用imgUri则要视实际情况而定。 

(2)URI 是从虚拟根路径开始的;URL是整个链接

如URL http://zhidao.baidu.com/question/68016373.html  

URI 是/question/68016373.html

 

【实例理解】

这里分享个大牛的解析,简单易懂~

     统一资源标志符URI就是在某一规则下能把一个资源独一无二地标识出来。
     拿人做例子,假设这个世界上所有人的名字都不能重复,那么名字就是URI的一个实例,通过名字这个字符串就可以标识出唯一的一个人。
     现实当中名字当然是会重复的,所以身份证号才是URI,通过身份证号能让我们能且仅能确定一个人。
那统一资源定位符URL是什么呢。也拿人做例子然后跟HTTP的URL做类比,就可以有:

动物住址协议://地球/中国/浙江省/杭州市/西湖区/某大学/14号宿舍楼/525号寝/张三.人

     可以看到,这个字符串同样标识出了唯一的一个人,起到了URI的作用,所以URL是URI的子集。URL是以描述人的位置来唯一确定一个人的。
     在上文我们用身份证号也可以唯一确定一个人。对于这个在杭州的张三,我们也可以用:身份证号:123456789来标识他。

     所以不论是用定位的方式还是用编号的方式,我们都可以唯一确定一个人,都是URl的一种实现,而URL就是用定位的方式实现的URI。

     回到Web上,假设所有的Html文档都有唯一的编号,记作html:xxxxx,xxxxx是一串数字,即Html文档的身份证号码,这个能唯一标识一个Html文档,那么这个号码就是一个URI。而URL则通过描述是哪个主机上哪个路径上的文件来唯一确定一个资源,也就是定位的方式来实现的URI。
     对于现在网址我更倾向于叫它URL,毕竟它提供了资源的位置信息,如果有一天网址通过号码来标识变成了 http://741236985.html,那感觉叫成URI更为合适,不过这样子的话还得想办法找到这个资源咯…

 

【总结:】

①通俗理解URL:目前URI的最普遍形式就是无处不在的URL或统一资源定位器

②URI 是统一资源标识符,而 URL 是统一资源定位符。因此,笼统地说,每个 URL 都是 URI,但不一定每个 URI 都是 URL。这是因为 URI 还包括一个子类,即统一资源名称 (URN),它命名资源但不指定如何定位资源。

猜你喜欢

转载自570109268.iteye.com/blog/2409583
今日推荐