URI/URL/URN的联系和区别

下面是我整理的一些关于他们的描述。

URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。

而URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可
以用来标识一个资源,而且还指明了如何locate这个资源。

因此,URL是一种具体的URI,它不仅唯一标识资源,而且还提供了定位该资源的信息。

URI是一种语义上的抽象概念,可以是绝对的,也可以是相对的,而URL则必须提供足够
的信息来定位,所以,是绝对的,而通常说的relative URL,则是针对另一个absolute 
URL,本质上还是绝对的。


扩展资料
当我们替代web地址的时候,URI和URL中,URI更准确。我们经常使用的URI不是严格技术
意义上的URL。例如:你需要的文件在files.hp.com. 这是URI,但不是URL--系统可能会
对很多协议和端口都做出正确的反应。

http://blog.csdn.net/koflance是个URL,通过这个网址可以告诉我们用HTTP协议访问,
而isbn:0-395-36341-1是RUN,一个国际标准书号,可以唯一确定哪本书。目前HTTP规范
已经不使用URL,而是使用URI了,所以URI更具有前景。


URL 是 URI 的子集。
任何东西,只要能够唯一地标识出来,都可以说这个标识是 URI 。如果这个标识是一个
可获取到上述对象的路径,那么同时它也可以是一个 URL ;但如果这个标识不提供获取
到对象的路径,那么它就必然不是 URL 。 URI是用来标识网上的资源的URI分为URL和URN这两大类。

URI:统一资源标志符(Uniform Resource Identifier),URL:统一资源定位符(uniform resource location),
URI与URL都是定位资源位置的,就是表示这个资源的位置信息,就像经纬度一样可以表示你在世界的哪个角落。
URI是一种宽泛的含义更广的定义,而URL则是URI的一个子集,就是说URL是URI的一部分。

每个URL都是URI,但是不是每个URI都是URL的。他们之间最明显的不同就是在java.net.URI你只能看到他的一些属性,
他只是表示一个位置,但是你没有办法通过URI获取到这个对象的流,但是URL就不同了。

URI 是从虚拟根路径开始的
URL是整个链接
如URL http://zhidao.baidu.com/question/68016373.html
URI 是/question/68016373.html
在摆渡那边服务器上把http://zhidao.baidu.com/制作成了虚拟的路径
的根

URIs, URLs, and URNs区别:
1、URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
2、URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,
而且还指明了如何locate这个资源。
3、URN,uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:java-net@java.sun.com。

URI分为URL和URN,一个URL必然是一个URI。
至于/后面的内容,叫相对URL,仅包含URL字段。
而完整的一个网址,叫绝对URL,包含协议名、主机名和URL字段。
URL和URI的区别,在于你知道一个URL一定能定位出你想要的资源(比如说访问某个服务器的某个端口的某个文件),
而一个URI只需要表达一些信息就够了,不一定非能定位你想要的资源,比如说你只知道一个ed2k的链接不一定能获
取到你想要的文件(URI不一定非要写主机名,但URL一定)。

原文地址:https://www.cnblogs.com/573734817pc/p/10607614.html