美文网首页
URI、URL、URN和URL的基本构成

URI、URL、URN和URL的基本构成

作者: sampson0115 | 来源:发表于2021-11-03 09:50 被阅读0次

    URI、URL、URN

    起源:

    这三个缩略词是Tim Berners-Lee在一篇名为RFC 3986: Uniform Resource Identifier (URI): Generic Syntax的文档中定义的互联网标准追踪协议。

    Tim Berners-Lee ,万维网的发明者,同时也是万维网联盟(W3C)的负责人

    统一资源标识符(URI)提供了一个简单、可扩展的资源标识方式。URI规范中的语义和语法来源于万维网全球信息主动引入的概念,万维网从1990年起使用这种标识符数据,并被描述为“万维网中的统一资源描述符”。

    • URI全称Uniform Resource Identifier,统一资源标识符
    • URL全称Uniform Resource Locator,统一资源定位符
    • URN全称Uniform Resource Name,统一资源名称

    首先我们要弄清楚一件事:URL和URN都是URI的子集。
    换言之,URL和URN都是URI,但是URI不一定是URL或者URN。为了更好的理解这个概念,看下面这张图片。


    截屏2021-11-03 上午8.43.23.png

    我们可以很好地理解URN 和 URL之间的区别。如果是一个人,我们会想到他的姓名和住址。

    URL类似于住址,它告诉你一种寻找目标的方式(在这个例子中,是通过街道地址找到一个人)。要知道,上述定义同时也是一个URI。

    相对地,我们可以把一个人的名字看作是URN;因此可以用URN来唯一标识一个实体。由于可能存在同名(姓氏也相同)的情况,所以更准确地说,人名这个例子并不是十分恰当。更为恰当的是书籍的ISBN码和产品在系统内的序列号,尽管没有告诉你用什么方式或者到什么地方去找到目标,但是你有足够的信息来检索到它

    举个栗子

    这是一个URI:
    http://bitpoetry.io/posts/hello.html#intro
    我们开始分析:

    http://
    是定义如何访问资源的方式。另外

    bitpoetry.io/posts/hello.html
    是资源存放的位置,那么,在这个例子中,

    #intro
    是资源。

    URL是URI的一个子集,告诉我们访问网络位置的方式。在我们的例子中,URL应该如下所示:
    http://bitpoetry.io/posts/hello.html

    URN是URI的子集,包括名字(给定的命名空间内),但是不包括访问方式,如下所示:
    bitpoetry.io/posts/hello.html#intro

    就是这样。现在你应该能够辨别出URL和URN之间的不同。

    总结

    关于URL:
    URL是URI的一种,不仅标识了Web 资源,还指定了操作或者获取方式,同时指出了主要访问机制和网络位置。

    关于URN:
    URN是URI的一种,用特定命名空间的名字标识资源。使用URN可以在不知道其网络位置及访问方式的情况下讨论资源。

    URI可以分为URL,URN或同时具备locators 和names特性的一个东西。URN作用就好像一个人的名字,URL就像一个人的地址。换句话说:URN确定了东西的身份,URL提供了找到它的方式。

    URL的基本构成

    截屏2021-11-03 上午9.07.07.png
    1. Scheme:也叫协议Protocol,该URL的协议部分是https(超文本传输协议),https表示用安全套接字层传送的超文本传输协议,它是一种加密的HTTP传输协议,比HTTP更安全。常用的协议有http、https、ftp、file、mailto
    2. User:用户信息,格式为:<user>:<password>,目前已经很少用到
    3. Host:也叫域名Domain,从后往前,com是根域名,example.com是顶级域名,二级域名,就是最靠近顶级域名左侧的字段。如:zh.wikipedia.org中,wikipedia就是二级域名(有资料认为, 在顶级域名后面, 还存在一级域名, 那么zh就是二级域名)。,举个正在使用中的三级域名的实例,www.ncic.ac.cn,其中www前缀表明此域名对应着万维网服务,每一级域名由英文半角句号分区,“ncic”作为三级域名是“ac.cn”的子域名。
    4. Port:端口号,用来区分同一台服务器上不同服务的标识
      HTTP默认端口为80,端口范围是0-65535之间
      HTTPS默认端口号443,FTP默认端口号21
      跟在域名后面的是端口,域名和端口之间用 ":" 作为分隔符。另外端口不是URL必须的部分,如果省略端口将采用默认端口
    5. Path:资源路径,域名最后一个斜杠 / 到?部分,如果没有?则是从域名后的最后一个 / 到 #
    6. Resource:资源文件,省略时静态服务器默认访问index.html 截屏2021-11-03 上午9.44.20.png
    7. Query:参数Parameters,以问号?开始,key=value形式,中间用&隔开。也就是常用的GET请求参数
    8. Fragment:锚信息(#哈希),也叫做Anchor或者Hash,由一个井号#开始,之后的字符都为fragment。页面内部跳转锚点

    相关文章

      网友评论

          本文标题:URI、URL、URN和URL的基本构成

          本文链接:https://www.haomeiwen.com/subject/wdhfzltx.html