URL和URI的不同之处是什么?

302 阅读2分钟

作为一名开发人员,你可能已经无数次听说过URL。你之前可能也遇到过URI,现在你想知道他们两者之间有什么区别(如果他们之间有的话)。它们两个经常互换使用,但是我们必须得区分两者。在进行比较之前,让我们看看它们每一个的定义。

什么是URL?

统一资源定位符(Uniform Resource Locator)或者简称URL--顾名思义--是对资源的引用以及访问该资源的方式。它通常被称为网站的地址,在地址栏中找到的那个。

URL.png URL由几个不同的部分组成:

  • 协议:通常是httpshttp。一种如何去访问资源的方法,你可以还见过去其他的协议,比如说ftp或者file
  • 接着是://
  • 主机名:代表IP地址的注册名称或者是IP地址,用来识别连接到网络的设备的数字标识符。
  • 接着是以冒号开头的可选端口
  • 路径:它可以引用文件系统路径,但也经常用作slug
  • 以问号开头的可选查询参数,其中多个参数用&相连接
  • fragment: 一个以散列开头的可选片段。它用于为页面上的标题提供快速链接 为了通过上图进行演示,URL在图表中如下所示:

frg.png

什么是URI?

现在你已经完全了解URL是如何组成的,让我们来看下到底什么是URI。和URL一样,URI(Uniform Resource Identifier)也提供了一种识别资源的方法,但是和URL不同的是,它不一定提供定位所述资源的方法。

URI的一个示例(不是URL)是用于识别书籍的ISBN号,它使用唯一编码清楚地标识资源,但是它不提供任何实际访问资源的方法。

因此我们可以得出结论,URI是URL的超集,并且每个URL本质上也是一个URI。

差异图解

为了说明它们之间的联系,请看下图:

p.png 实际上URL是一种URI,它还包含有关如何访问资源的信息。如果本教程中只有一件事要学习,那就是RFC396中一句话:

The term "Uniform Resource Locator" (URL) refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism(e.g., its network "location").

总结

作为web开发人员,我们必须记住许多字母缩略词和首字母缩写词。你对互联网工作原理的核心概念了解得越深,工作起来就越容易,工作质量也会更高,并且你的知识也会更加丰富。

通过本教程,你现在也知道了URI和URL之间的区别。如果你仍然有任何疑问,请不要犹豫,在评论部门提出问题。感谢你的阅读,祝你编码愉快!

英文原文地址

medium.com/weekly-webt…