URI和URL的区别

Posted yuwei1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了URI和URL的区别相关的知识,希望对你有一定的参考价值。

URL和URI之间的区别:https://danielmiessler.com/study/url-uri/(维基解释)

 

技术分享图片

?这里有许多经典的高科技的辩论,以及什么正式调用Web地址的问题是最细致入微的一个。这通常表现的方式是有人要求将“URL”放入他或她的浏览器中,并且有人为此付出了代价,

实际上,这被称为URI,而不是URL ......

对这种矫正的反应可以是悄悄地认为这个人需要更多地出来,通过肩膀耸肩无动于衷地同意去除Katana上的安全扣。本页希望作为一个简单的单页摘要,用于浏览本次辩论的微妙之处。

URI,URL,URN

如上图所示,这里有三个不同的组件。在讨论这些问题时,通常最好去消息来源,所以这里是Tim Berners-Lee等人的摘录。人。rfc 3986中:统一资源标识符(uri):通用语法:

统一资源标识符(URI)是一种紧凑的字符序列,用于标识抽象或物理资源。

URI可以进一步分类为定位符,名称或两者。术语“统一资源定位符”(URL)指的是URI的子集,其除了标识资源之外,还通过描述其主要访问机制(例如,其网络“位置”)来提供定位资源的手段。

维基百科通过以下简化抓住了这一点

可以将URI分类为定位符(URL),或将名称(URN)分类,或同时分类。统一资源名称(URN)的功能类似于人名,而统一资源定位符(URL)类似于该人的街道地址。换句话说:URN定义了项目的标识,而URL提供了查找项目标识的方法。

所以我们从这些描述中得到了一些东西:

  1. 首先(我们在图中也看到)URL是一种URI因此,如果有人告诉您URL不是URI,那他就错了。但这并不意味着所有URI都是URL。所有的蝴蝶都飞了,但不是苍蝇都是蝴蝶。
  2. 使URI成为URL的部分包括“访问机制”或“网络位置”,例如http://ftp://
  3. URN是识别中“全球唯一”的一部分; 这是一个独特的名字。

那么让我们再看一下URI的一些例子 - 再次来自RFC:

  • ftp://ftp.is.co.za/rfc/rfc1808.txt (因为协议也是一个URL)
  • http://www.ietf.org/rfc/rfc2396.txt (因为协议也是一个URL)
  • ldap://[2001:db8::7]/c=GB?objectClass?one (因为协议也是一个URL)
  • mailto:[email protected] (因为协议也是一个URL)
  • news:comp.infosystems.www.servers.unix (因为协议也是一个URL)
  • tel:+1-816-555-1212
  • telnet://192.0.2.16:80/ (因为协议也是一个URL)
  • urn:oasis:names:specification:docbook:dtd:xml:4.1.2

这些都是URI,其中一些是URL。哪些是网址?那些告诉你如何到达他们的人。同样,名称与地址类比很好。

哪个更准确?

所以这给我们带来了许多读者的问题:

在提到网址时,哪个更合适?

 

基于我在研究这篇文章时阅读的十几篇文章和RFC,我会说这取决于一个非常简单的事情:你是完整的还是只是一件。

为什么?

好吧,因为我们经常在技术上不符合URL的表单中使用URI。例如,您可能会被告知您需要的文件位于files.hp.com这是一个URI,而不是一个URL - 该系统可能很好地响应许多端口上的许多协议。

如果你去,http://files.hp.com你可以想象得到的内容与你去的完全不同ftp://files.hp.com而这类事情只会越来越普遍。想想生活在各种Google域上的所有不同服务。

因此,如果您使用URI,那么技术上总是正确的,如果您使用URL,则可能不是。

但是如果你肯定在处理实际的完整URL,那么“URL”是最准确的,因为它是最具体的。人类在技术上是非洲猿,狗是哺乳动物,但我们分别称它们为人类和狗。如果你是来自旧金山的美国人,而你在波士顿遇到来自悉尼的人,你就不会说你来自地球,或来自美国。你会说加州,或者更好 - 旧金山。

因此,直到某些内容发生变化,当您仅通过名称或其他片段引用资源时最好使用URI当您同时提供资源的名称和访问它的方法(如完整的URL)时,最好将其称为URL

概要

  1. URI是标识符,可以表示名称,位置或两者。
  2. 所有URN和URL都是URI,但事实恰恰相反。
  3. 创建URL的部分是名称和访问方法的组合,例如https://,或mailto:
  4. 所有这些位都是URI,所以说这在技术上总是准确的,但是如果你正在讨论一个完整的URL和一个URI(所有的URL都是),那么最好把它称为“URL”,因为它更具体。

注释和参考

  1. rfc 2396。
  2. 维基百科| uri
  3. 解释与damnhandy.com 的不同之处。
  4. 另一个有趣的问题是,谷歌浏览器现在故意将协议从浏览器中的显示器中删除 - 这实际上是将URL转换为URI。

以上是关于URI和URL的区别的主要内容,如果未能解决你的问题,请参考以下文章

URL与URI的区别

URI和URL的区别是啥??

Java中的资源、URI、URL、路径和文件有啥区别?

URI和URL的区别

uri和url有啥关系和区别?

URI和URL的区别