zoukankan      html  css  js  c++  java
  • 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一定)。

  • 相关阅读:
    26 转义符 re模块 方法 random模块 collection模块的Counter方法
    25 正则表达式
    24 from 模块 import 名字
    24 from 模块 import 名字
    24 from 模块 import 名字
    23 析构方法 items系列 hash方法 eq方法
    21 isinstance issubclass 反射 _str_ _new_ _len_ _call_
    20 属性, 类方法, 静态方法. python2与python3的区别.
    python(1)
    python之字符串格式化
  • 原文地址:https://www.cnblogs.com/573734817pc/p/10607614.html
Copyright © 2011-2022 走看看