最先学习http的时候就对URI和URL的区别感到很模糊,后来看了很多人的解释,现在说说成自己的理解
URI:统一资源标识符
URL:统一资源定位符
一个是标识资源,一个是定位资源,这样解释好像是懂了,但是肯定还是感觉很抽象,所以我们采用浅显的说法来看看:
URI是告诉了我们一个资源的地址,但是没有告诉我们怎么去那里获取它(访问机制没提供,例如:http、ftp)
URL则告诉了我们怎么去获取我们想要的资源,提供了访问机制(例如:http、ftp)
这就类似于接口和实现类的关系
URI就是定义了资源位置
URL就是获取资源,有多种方式去获取
所以也就有了URL一定是URI,URI不一定是URL的说法
总结
下面到了回答问题的时候了:
当我们替代web地址的时候,URI和URL那个更准确?
基于我读的很多的文章,包括RFC,我想说URI更准确。
别急,我有我的理由:
我们经常使用的URI不是严格技术意义上的URL。例如:你需要的文件在files.hp.com
. 这是URI,但不是URL--系统可能会对很多协议和端口都做出正确的反应。
你去http://files.hp.com
和ftp://files.hp.com
.可能得到完全不同的内容。这种情况可能更加普遍,想想不同谷歌域名上的不同服务啊。
所以,用URI吧,这样你通常技术上是正确的,URL可不一定。最后“URL”这个术语正在被弃用。所以明智吧少年!
参考文章:http://www.cnblogs.com/hust-ghtao/p/4724885.html